我想从注册表中获取价值,但价值为null
我在注册表中检查密钥并存在于具有值
的特定路径中RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\MICROSOFT\\WINDOWS");
string st = key.GetValue("LastVerify").ToString();
之前我问过这个问题并将其标记为重复,我发现了几个有关此问题并且我使用答案但又有问题。
答案 0 :(得分:1)
您需要将目标计算机更改为x64,因为您无法使用x86读取此值。
using (var key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\MICROSOFT\\WINDOWS"))
{
var value = key.GetValueNames();
}
此代码在x64下运行正常。
您可以在此处找到有关在x64和x86视图中访问注册表的更多信息:https://msdn.microsoft.com/en-us/library/aa384129.aspx
默认情况下,在WOW64上运行的32位应用程序访问32位 注册表视图和64位应用程序访问64位注册表 图。
如果查看进程管理器,regedit.exe
以64位模式启动,则会打开与应用程序使用的视图不同的视图。