C# 用于64位操作系统的Microsoft.Win32.RegistryKey

C# 用于64位操作系统的Microsoft.Win32.RegistryKey,c#,registry,C#,Registry,您好,我正在修改windows注册表。它在windows XP上运行得很好,但在win 7 64位上不起作用。它只会更改一次,再也不会更改 我发布了一个问题,但没有找到答案,我想知道下面的陈述是否是问题的根源 Microsoft.Win32.Registry registry = Microsoft.Win32.Registry.CurrentUser.OpenSubKey( "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\W

您好,我正在修改windows注册表。它在windows XP上运行得很好,但在win 7 64位上不起作用。它只会更改一次,再也不会更改

我发布了一个问题,但没有找到答案,我想知道下面的陈述是否是问题的根源

Microsoft.Win32.Registry registry = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
    "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Internet Settings",
    true);
现在,我正在更改64位注册表,但使用的是Microsoft.Win32.RegistryKey 它可能无法在64位上工作


任何更改64位计算机上注册表的解决方案请选中项目的选项。目标是任何CPU、X86还是x64


我打赌这里存在不匹配…

请检查项目的选项。目标是任何CPU、X86还是x64


我打赌这里有一个不匹配…

如果没有UAC没有的管理员权限,您无法写入注册表的该部分。它在XP中工作,因为您可能在那里以管理员的身份运行


您可能还需要考虑。

如果没有UAC没有的管理员权限,您无法写入注册表的该部分。它在XP中工作,因为您可能在那里以管理员的身份运行


您可能还需要考虑。

如果您的目标是x86,则不需要Wow6432Node,因为注册表重定向程序会将您带到那里。他不应该以x86为目标,因为那样会写入错误的键。需要任何CPU才能正常工作。如果您以x86为目标,则不需要Wow6432Node,因为注册表重定向程序会将您带到那里。他不应以x86为目标,因为那样会写入错误的键。任何CPU都需要使其正常工作。您是否检查了同一个CPU的答案?您是否检查了同一个CPU的答案?