从32位Python更改64位注册表

Oz1*_*123 4 python registry window 32bit-64bit

我很难理解这一点.如果我是正确的,32位Python无法运行代码并更改64位的注册表值.我做对了吗?或者是否有开启的开关可以启用此功能?

有这样的:http: //msdn.microsoft.com/en-us/library/aa384129%28v=VS.85%29.aspx

但是我如何使用以下代码? http://www.blog.pythonlibrary.org/2010/03/20/pythons-_winreg-editing-the-windows-registry/

谢谢,哦

Flo*_*ker 6

正如您链接到的MSDN文章解释的那样,64位Windows有两个注册表视图,一个用于32位,一个用于64位.默认情况下,32位应用程序(例如,由32位Python解释程序执行的Python脚本)将访问32位视图.您可以使用MSDN文章中提到的标志强制它访问64位视图.为了能够使用这些标志,您需要调用_winreg.OpenKey,_winreg.CreateKeyEx_winreg.DeleteKeyEx使用正确的参数,例如

handle = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, "your_sub_key", 0, _winreg.KEY_READ | _winreg.KEY_WOW64_64KEY)
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅_winreg文档.