[英]Registry.GetValue() returns null in x86 configuration, works in x64
using Microsoft.Win32;
...
string keyname = "HKEY_LOCAL_MACHINE\\Software\\[REST_OF_PATH]
string value = "ServiceAddress";
string default = "";
string stringValue = (string)Registry.GetValue(keyname, value, default);
在我的x64機器上,當我使用x64或AnyCPU進行構建時,這可以正常工作(在我的x64機器上),但是當使用x86配置進行構建時, stringValue
為null
。
當我調用Registry.LocalMachine.OpenSubKey
時,我得到類似的結果
是否有可能使它與x86構建一起使用?
32位注冊表存儲在Wow6432Node下。 您可能直接在HKEY_LOCAL_MACHINE下創建了注冊表項,這是注冊表的64位部分。 注冊表重定向器處理由32位應用程序執行的重定向注冊表操作。
如果希望從32位應用程序訪問注冊表的64位部分,則在打開密鑰時,需要將標志KEY_WOW64_64KEY
( 0x0100
)與訪問權限一起傳遞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.