栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

我假设您在谈论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,所以不要指望我给出答案;)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/454170.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号