![](/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.