Java检查程序是否安装在Windows上[重复]

w8biq8rn  于 2023-11-21  发布在  Windows
关注(0)|答案(3)|浏览(156)

此问题在此处已有答案

Detect if certain software is installed on a user's machine in Java(4个答案)
5天前关闭。
有没有办法检查是否使用Java在Windows上安装了特定程序?
我正在尝试开发一个Java程序,通过使用7-Zip中的code line命令自动创建zip存档。
所以,我想检查在Java如果在我的Windows操作系统“7-Zip”已经安装.没有检查运行的应用程序或操作系统是Windows或Linux.我想得到一个布尔值(真/假)如果“7-Zip”安装在Windows上.

gdx19jrr

gdx19jrr1#

类unix的解决方案是简单地尝试运行带有--version标志的程序(在windows上可能是/?,或者像7zip那样根本没有任何标志),然后检查它是否失败,或者返回代码是什么。
比如说:

public boolean is7zipInstalled() {
    try {
            Process process = Runtime.getRuntime().exec("7zip.exe");
            int code = process.waitFor();
            return code == 0;
    } catch (Exception e) {
            return false;
    }
}

字符串

ut6juiuv

ut6juiuv2#

Apache Commons库有一个名为SystemUtils的类-完整文档可在https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/SystemUtils.html上获得。
在这个库中,您可以使用以下static boolean属性:

SystemUtils.IS_OS_LINUX
SystemUtils.IS_OS_WINDOWS

字符串

2jcobegt

2jcobegt3#

我知道这是一个相当老的问题,但如果有人仍然想知道Windows的答案,我宁愿使用命令行,而不是过时的旧库
Powershell中的例子:

(gp HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*).DisplayName -Contains "Android Studio"

字符串
您将得到TrueFalse作为输出

仅适用于Windows

相关问题