如何检查Windows系统上是否安装了程序

greenLizard:

如何在Windows系统上安装程序(例如检查Mozilla Firefox)时如何使用Java进行检查?

BalusC:

我假设您在谈论Windows。由于Java旨在成为一种与平台无关的语言,并且每种平台如何确定它的方式各不相同,因此没有标准的Java API可以对此进行检查。但是,您可以借助对Windows注册表进行爬网的DLL上JNI调用来完成此操作。然后,您可以只检查注册表中是否存在与该软件关联的注册表项。有一个第三方Java API,可用来爬网Windows注册表:jRegistryKey

这是在jRegistryKey的帮助下的SSCCE:

package com.stackoverflow.q2439984;

import java.io.File;
import java.util.Iterator;

import ca.beq.util.win32.registry.RegistryKey;
import ca.beq.util.win32.registry.RootKey;

public class Test {

    public static void main(String... args) throws Exception {
        RegistryKey.initialize(Test.class.getResource("jRegistryKey.dll").getFile());
        RegistryKey key = new RegistryKey(RootKey.HKLM, "Software\\Mozilla");
        for (Iterator<RegistryKey> subkeys = key.subkeys(); subkeys.hasNext();) {
            RegistryKey subkey = subkeys.next();
            System.out.println(subkey.getName()); // You need to check here if there's anything which matches "Mozilla FireFox".
        }
    }

}

但是,如果打算使用独立于平台的应用程序,则还必须考虑Linux / UNIX / Mac / Solaris / etc(换句话说:可以运行Java的任何地方)来检测是否安装了FF的方法。 。否则,您将不得不将其作为仅Windows应用程序进行分发,并System#exit()System.getProperty("os.name")没有Windows的情况下进行警告

抱歉,我不知道如何在其他平台上检测是否安装了FF,所以不要指望我给出答案;)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查我的系统上是否安装了JDBC?

如何检查是否安装了特定的程序?

如何检查我的系统上是否安装了 socket.io

如何检查是否以编程方式在系统上安装了SQL Server Management Studio?

检查 Windows 上是否安装了Wireguard 应用程序的可靠方法?

如何检查是否通过iPhone上的网页安装了应用程序?

如何检查是否安装了 USB CDC 驱动程序

如何检查是否安装了软盘驱动程序?

如何检查设备上是否安装了WhatsApp?

如何检查我的 macOS 上是否安装了 adb?

如何检查Apache是否在Debian 8上安装了SNI

如何检查Mac上是否安装了Java JDK?

如何检查ubuntu上是否安装了mysql?

如何检查我的电脑上是否安装了gcc

如何检查我的机器上是否已经安装了MPI

如何检查是否安装了特定的Windows安全更新?

检查是否安装了特定版本的程序

检查是否安装了Windows服务?(C ++)

如何检查是否安装了CAPICOM?

如何检查是否安装了Apple Maps

如何检查是否安装了PowerShell模块?

如何检查Firebug是否安装了javascript?

如何检查是否安装了共享库?

Windows是否按应用程序或系统范围安装了视频编码器?

如何检查系统中是否已安装某个补丁程序?

如何在已经安装了Mint和Windows 7的系统上安装Ubuntu?

我在Windows上安装了哪些程序?(只能从Linux通过文件系统访问)

如何检查是否安装了某些程序以及它们是否显示消息

检查是否在用户设备上安装了“健康”应用程序。(迅速)