Windows 7 在windows 7中访问本地计算机

Windows 7 在windows 7中访问本地计算机,windows-7,registry,Windows 7,Registry,我想在windows 7的本地计算机配置单元中创建注册表项。为此,我使用了以下代码: RegistryKey regKey = Registry.LocalMachine.CreateSubKey(@"Software\Test", RegistryKeyPermissionCheck.ReadWriteSubTree); 代码运行良好,没有任何错误。但是当我使用regedit.exe查看注册表时,我没有看到刚才创建的密钥。谁能帮帮我吗 很可能您的应用程序在没有清单的情况下运行,并且正

我想在windows 7的本地计算机配置单元中创建注册表项。为此,我使用了以下代码:

    RegistryKey regKey = Registry.LocalMachine.CreateSubKey(@"Software\Test", RegistryKeyPermissionCheck.ReadWriteSubTree);
代码运行良好,没有任何错误。但是当我使用regedit.exe查看注册表时,我没有看到刚才创建的密钥。谁能帮帮我吗


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


如果这是问题所在,请改变您对写入HKLM的想法(用户不喜欢UAC提示),或者在包含requireAdministrator的exe上放置清单,以便它始终请求提升并正常工作。

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


如果这是问题所在,请改变主意写入HKLM(用户不喜欢UAC提示),或者在包含RequiredAdministrator的exe上放置清单,以便它始终请求提升并正常工作。

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

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

您是在64位机器上吗

如果您在64位计算机上,请检查项目生成设置(“项目属性”>“生成”选项卡)并检查平台目标

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

在regedit.exe中,查看
HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node
,您应该会在那里看到您的密钥


将平台目标更改为
Any CPU
,它将在
HKEY\U LOCAL\U MACHINE\SOFTWARE

中创建密钥。您是否在64位计算机上

如果您在64位计算机上,请检查项目生成设置(“项目属性”>“生成”选项卡)并检查平台目标

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

在regedit.exe中,查看
HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node
,您应该会在那里看到您的密钥


将平台目标更改为
Any CPU
,它将在
HKEY\U LOCAL\U MACHINE\SOFTWARE

中创建密钥。我已将清单提升为我的exe。但我还是无法从regedit中看到密钥。有趣的是,我的代码创建了密钥,我可以使用它。但我不能从regedit中看到它。exe是以管理员身份执行的。您是否查看了
HKEY\U USERS\\U Classes\VirtualStore\Machine\Software\Test
以查看它是否被写入其中?我已将清单与提升名一起放入我的exe。但我还是无法从regedit中看到密钥。有趣的是,我的代码创建了密钥,我可以使用它。但我不能从regedit中看到它。exe是以管理员身份执行的。您是否查看了
HKEY\U USERS\\U Classes\VirtualStore\Machine\Software\Test
以查看它是否正在写入?