我有一个c#应用程序,我正在尝试从中读取“
WindowsUpdate”子密钥,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto
Update
它总是返回null.
代码示例如下,
Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion");
{HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion}
base {System.MarshalByRefObject}: {HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion}
Handle: {Microsoft.Win32.SafeHandles.SafeRegistryHandle}
Name: "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion"
SubKeyCount: 52
ValueCount: 11
View: Default
Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\WindowsUpdate");
null
Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\WindowsUpdate\\Auto Update");
null
Registry.LocalMachine.OpenSubKey("Software\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\WindowsUpdate");
null
最佳答案 从上面的评论中可以看出,您正在尝试阅读x64注册表.所以尝试使用基于x64的应用程序来阅读此内容.它应该解决你的问题.如果您使用基于x86的应用程序从基于x64的计算机读取注册表,那么它将从中读取,
HKEY_LOCAL_MACHINE\Software\Wow6432Node\
读书,
HKEY_LOCAL_MACHINE\Software
并且您不会读取仅在x64注册表下可用的注册表项.