从 32 位 Python 更改 64 位注册表

从 32 位 Python 更改 64 位注册表

我很难理解这一点。如果我没记错的话,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/

谢谢,奥兹

答案1

编辑:抱歉,我误解了这个问题。做标记的事情。:p

如果您使用的是 64 位操作系统,则 HKLM\Software 和 HKCU\Software 键中会有一个名为 Wow6432Node 的“文件夹”。这就像一个连接点,允许 Windows 保持跨架构的向后兼容性,并且基本上透明地重定向访问注册表的 32 位程序。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724072(v=vs.85).aspx

因此,即使您正在执行 32 位代码,如果您使用的是 64 位版本的 Windows,则修改 HKLM\Software\Mysoftware 是 64 位注册表。如果您需要修改 32 位注册表,则需要修改 HKLM\Software\Wow6432Node\MySoftware。

这里我要设置 32 位 ODBC 连接,即使在 64 位操作系统上也是如此。它也适用于 32 位操作系统。无需设置标志。此代码有效。

代码

相关内容