这是我的代码:
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\ADM");
注册表项存在于机器上。键始终为空。
我认为这不是安全问题。我以管理员身份运行。 (我什至明确地在管理员模式下运行程序集)。
我正在使用在 Windows 7 64 位上运行的 Visual Studio 2010。
最佳答案
问题是我运行的是 64 位,而我的应用程序被编译为 32 位。
正在读取的 key :
Microsoft.Win32.RegistryKey key =
Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE");
不是 HKLM\SOFTWARE
而是 HKLM\SOFTWARE\Wow6432Node\
。将应用程序编译为 x64 可以解决问题。
关于c# - HKLM\Software 下的 OpenSubKey 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3655968/