![](/img/trans.png)
[英]Accessing a 32-bit COM DLL from a 64-bit Java Application (Registry Entry Not Found)
[英]Accessing 64-bit Registry in 32-bit application
请不要将此问题标记为重复!
我在用Java( 不是C#)寻找解决方案,并使用WinRegistry类。
我写了一个可以读出注册表项的程序。 现在的问题是:java应用程序是32位的,我想从Windows 7 64位系统中读取reg键。 有了这些代码,Windows会将我的32位程序重定向到64位注册表的32位部分(将实际路径与代码中的注释进行比较-Wow6432Node!)。
// only access to "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run"
value = WinRegistry.readString(WinRegistry.HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", "Citrix Login Service");
我删除了try-catch-block,因此您可以更好地解决实际问题;)。
我现在解决了这个问题-感谢Petrucio,他在2012年发布了该解决方案: 使用Java读取/写入Windows Registry 。
例如-读取操作:
try {
String value = WinRegistry.readString(WinRegistry.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", "TestValue", WinRegistry.KEY_WOW64_64KEY);
System.out.println(value);
} catch (Exception ex) {
ex.printStackTrace();
}
我希望这对某人有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.