HKLM\Software下的OpenSubKey返回null

Ian*_*Ian 10 c# registry

这是我的代码:

Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\ADM");
Run Code Online (Sandbox Code Playgroud)

注册表项存在于计算机上.key始终为null.

我不认为这是一个安全问题.我是以管理员身份运行的.(我甚至在管理员模式下明确地运行了程序集).

我正在使用在Windows 7 64位上运行的Visual Studio 2010.

Ian*_*Ian 16

问题是我运行64位,我的应用程序编译为32位.

关键是:

Microsoft.Win32.RegistryKey key = 
    Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE");
Run Code Online (Sandbox Code Playgroud)

不是HKLM\SOFTWARE,而是HKLM\SOFTWARE\Wow6432Node\.将应用程序编译为x64可以解决问题.