在Windows中使用Java查找特定的注册表项
我可以在Windows中转到regedit,然后转到edit->
find,然后键入要在计算机中找到的密钥(在我的情况下为Maxima),然后找到所需的密钥(为最大值)(在我的情况下为“
HKEY_LOCAL_MACHINE” \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \
CurrentVersion \ Uninstall \
Maxima-5.17.1_is1“),但是我需要在Java中动态执行此操作,并找到已安装的maxima的当前版本及其在Windows中的目录位置。我不知道该如何进行。
我尝试使用这里所述的方法:使用Java读取/写入Windows注册表,但是要使用这些方法,我需要知道密钥。如何在Java中动态找到密钥?还是有其他方法可以使用Java在Windows中查找软件的版本和目录位置?
回答:
我将使用此类来回答您。因为它是用纯Java代码编写的。
- 有一个
WinRegistry
从类在这里。 - 获取父键中所有键的列表。
- 筛选器列表以获取最合适的键(或精确键)。
- 然后,您可以在此键中检查所需的值。
这是可以帮助您的代码:
List<String> ls = WinRegistry.readStringSubKeys(WinRegistry.HKEY_LOCAL_MACHINE, "SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\");
String key = ls.stream().filter(st -> st.matches("Maxima.*")).findAny().get();
现在这个key
值将是Maxima-5.17.1_is1
(如果存在,否则java.util.NoSuchElementException
将被抛出)。您可以使用它来获取任何
。
以上是 在Windows中使用Java查找特定的注册表项 的全部内容, 来源链接: utcz.com/qa/402134.html