在64位操作系统上访问Registry.LocalMachine

时间:2011-06-16 11:18:53

标签: c# .net registry

我在下面有一些访问注册表的代码。该应用程序是为x86构建的,但在64位操作系统上运行时,它找不到注册表项。我认为,如果它是为x86编译的,那就没关系,不要试着查看Wow6432Node节点。

我做错了什么或只是在64位操作系统上,注册表项应该在Wow6432Node节点下?

RegistryKey OurKey = Registry.LocalMachine;
OurKey = OurKey.OpenSubKey(@"SOFTWARE\Inspectron\ImageChecker");

3 个答案:

答案 0 :(得分:1)

  

只是在64位操作系统上,注册表项应该在Wow6432Node节点下吗?

是..那是对的.. 64位操作系统(Windows)仅在Wow6432Node内存储32位应用程序的密钥。

因此,您必须在Wow6432node的注册表配置单元中查找您的密钥。

答案 1 :(得分:0)

在'Run'中给'regedit'字符串你会得到注册表列表

答案 2 :(得分:0)

Ram确认注册表中的密钥必须在Wow6432node中,然后我发现编译为x86并使用我已经拥有的代码意味着它将在Wow6432node下查找密钥。