禁用注册表重定向Wow6432Node在Python(Disable registry redire

2019-10-21 18:17发布

我试图访问下HKEY_LOCAL_MAHINE \ SOFTWARE注册表项......在64位系统上。 我有以下的代码,但对结果它被重定向到Wow6432Node,即使我有_winreg.DisableReflectionKey(_winreg.OpenKey(HKEY_LOCAL_MACHINE,“软件”))在我的代码判断。

import _winreg
import wmi

c = wmi.WMI(computer="localhost", namespace="root/default").StdRegProv

_winreg.DisableReflectionKey(_winreg.OpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE"))

result, names = c.EnumKey(hDefKey=_winreg.HKEY_LOCAL_MACHINE, sSubKeyName="SOFTWARE")

print names

_winreg.EnableReflectionKey(_winreg.OpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE"))

我已阅读下面的情况,但似乎该解决方案描述有没有为作者之一或为我工作: 我怎样才能关闭注册表重定向Python的?

还检查_winreg文档,但目前还没有具体的例子,我不知道我做错了。 有任何想法吗? 对不起,我没有权限在现有的情况下发表意见,并不得不打开一个新的。

Answer 1:

它看起来像“_winreg.KEY_READ | _winreg.KEY_WOW64_64KEY”做这项工作。 更精确地说,你需要打开的关键是这样的:

_winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE", 0, _winreg.KEY_READ | _winreg.KEY_WOW64_64KEY)

访问本地主机的注册表时,我得到了这个工作。 但是,我还没有想出如何连接到远程注册表的域。 尝试使用_winreg.ConnectRegistry,但不断收到拒绝访问错误。



文章来源: Disable registry redirection to Wow6432Node in Python