python - 尝试通过 _winreg 获取 MachineGuid 但无法正常工作

标签 python windows winreg

我可以在我的注册表编辑器中看到该值,路径是 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography,但无法通过以下代码获取该值:

import _winreg

key = _winreg.OpenKey(
    _winreg.HKEY_LOCAL_MACHINE,
    "SOFTWARE\\Microsoft\\Cryptography"
    )

result = _winreg.QueryValueEx(key, "MachineGuid")

print result

我得到了“系统找不到指定的文件”,这很令人困惑,因为它就在那里。

好吧,使用几乎完全相同的代码检索其他值没有问题:

key = _winreg.OpenKey(
    _winreg.HKEY_LOCAL_MACHINE,
    "SOFTWARE\\Microsoft\\COM3"
    )


result = _winreg.QueryValueEx(key, "BuildType")

print result

输出是:(u'Free', 1)

我哪一部分做错了?我该怎么做才能获得此 MachineGuid

最佳答案

您的代码在 32 位 Windows 上运行良好, 如果你希望它也能在 64 位 Windows 上运行,试试这个:

key = _winreg.OpenKey(
    _winreg.HKEY_LOCAL_MACHINE,
    "SOFTWARE\\Microsoft\\Cryptography",
    0,
    _winreg.KEY_READ | _winreg.KEY_WOW64_64KEY
)

result = _winreg.QueryValueEx(key, "MachineGuid")
print result

引用:Change 64bit Registry from 32bit Python

关于python - 尝试通过 _winreg 获取 MachineGuid 但无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20137486/

相关文章:

python - Gspread - 读取时也获取无值?

python - 有没有办法下载 PoseNet 的卡住图(.pb 文件)?

python-2.7 - 是否可以在 Ubuntu Linux 上使用 win32gui/pywin32?

c# - 短按和长按处理

windows - 图标资源路径

Python - Winreg 获取键值

python - python 检查注册表项是否存在

python - 写入 Excel 时“Unsparsify” Pandas 多索引

python - 有没有更有效的方法来求大量矩阵的平均值?

windows - 使用 python 3 winreg 正确解密注册表 REG_BINARY?