c# - HKLM\Software 下的 OpenSubKey 返回 null

标签 c# registry

这是我的代码:

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/

相关文章:

windows - MSI 从注册表中获取安装参数

c# - 使用 NLog 为同一项目创建两个不同日志文件(文本文件)的最佳方法

c# - 如何从 C# 循环 USB 设备?

c# - 注册表观察器 C#

c++ - 如何确定key的 "(default)"值

windows - DLL 和注册表有什么问题?

c# - .net core [授权] 将 ClaimsIdentity 与 AAD 组结合使用

c# - 从 SQL 服务器数据库创建 JSON 结果

c# - .NET 正则表达式空白特殊字符

java - 在 x64 Windows 中有没有办法运行 Runtime.exec() 进程避免 'Registry redirection'