我正在尝试在 windows 7 x64 注册表中进行更改。我已经有代码可以更改 32 位系统的注册表项,其中一些也适用于 64 位版本。但是其中一些没有,我知道它与 WOW64node 有关,但我就是无法让它工作。
现有代码:
regkey = My.Computer.Registry.CurrentUser.OpenSubKey("Control Panel\International", True)
regkey.SetValue("sDecimal", ",")
regkey.Close()
这适用于 Windows 7 32 位芽而不是 64 位。所以我尝试了以下方法:
rk1 = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry64)
rk2 = rk1.OpenSubKey("Control Panel\International", True)
rk2.SetValue("sDecimal", ",")
regkey.Close()
这不起作用,我猜这是因为没有使用 WOW64node。但是,当我在代码中对其进行试验时,它不会运行。
这段代码在 64 位上确实可以工作,这很有趣:
regkey = My.Computer.Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows NT\CurrentVersion\Winlogon", True)
regkey.SetValue("Shell", "C:\mmi_loader.exe", RegistryValueKind.String)
regkey.Close()
我究竟做错了什么?如果可以对代码进行调整以使其在 32 位和 64 位上都可以工作,那将是理想的。
提前致谢,