访问Windows 7中的本地计算机

时间:2010-06-14 10:49:58

标签: windows-7 registry

我想在Windows 7中的本地计算机配置单元中创建一个注册表项。我使用以下代码来执行此操作:

    RegistryKey regKey = Registry.LocalMachine.CreateSubKey(@"Software\Test", RegistryKeyPermissionCheck.ReadWriteSubTree);

代码运行正常,没有任何错误。但是当我使用regedit.exe查看我的注册表时,我没有看到我刚刚创建的密钥。谁能帮助我。

问候

3 个答案:

答案 0 :(得分:2)

你是64位机器吗?

如果您使用的是64位计算机,请检查项目构建设置(项目属性>构建选项卡)并检查平台目标。

如果平台目标设置为x86,并且您在64位计算机上,则将在“Wow6432Node”下创建密钥

在regedit.exe中查看HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node,你应该在那里看到你的密钥。

将平台目标更改为Any CPU,它将在HKEY_LOCAL_MACHINE\SOFTWARE

中创建密钥

答案 1 :(得分:1)

您的应用程序很可能在没有清单的情况下运行,并且正在写入HKLM的虚拟副本。要测试我的理论,请右键单击您的exe并选择Run As Administrator。如果它然后写入正确的区域,这就是正在发生的事情。

如果这是问题,要么改变主意写入HKLM(用户不喜欢UAC提示),要么在需要管理员的exe上放置清单,以便始终请求提升并正常工作。

答案 2 :(得分:1)

您的密钥名称的长度是多少? regedit 中存在一个已知错误,它不会让您看到名称长度超过256个字符的密钥。