适用于 64 位操作系统的 Microsoft.Win32.RegistryKey
您好,我正在修改 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 位计算机上更改注册表的任何解决方案
Hi there i am modifying windows registry it works very well on windows XP but dosenot work on win 7 64 bit it only changes once never again.
I posted question and no answer was found and was wondering that if the following statement is the root cause of trouble
Microsoft.Win32.Registry registry = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
"HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Internet Settings",
true);
now here i am changing 64 bit registry but using Microsoft.Win32.RegistryKey
it may not work on 64 bit.
any solutions for changing registry on 64 bit machine
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果没有管理员权限,则无法写入注册表的该部分,而 UAC 则没有管理员权限。它可以在 XP 中运行,因为您可能以管理员身份运行。
您可能还需要考虑注册表重定向 。
You can't write to that part of the registry without admin rights which you don't have with UAC. It works in XP because you presumably run as an admin there.
You may also need to account for registry redirection.
检查您的项目的选项。目标是 AnyCpu、X86 还是 x64?
我敢打赌这里有一个不匹配的地方......
check the option of your project. Are targeting AnyCpu, X86 or x64 ?
I bet there is a mismatch here...