Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正在尝试通过_winreg获取MachineGuid,但无法工作_Python_Windows_Winreg - Fatal编程技术网

Python 正在尝试通过_winreg获取MachineGuid,但无法工作

Python 正在尝试通过_winreg获取MachineGuid,但无法工作,python,windows,winreg,Python,Windows,Winreg,我可以在注册表编辑器中看到该值,路径为HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Cryptography,但无法使用以下代码获取该值: import _winreg key = _winreg.OpenKey( _winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Cryptography" ) result = _winreg.QueryValueEx(key, "Machine

我可以在注册表编辑器中看到该值,路径为
HKEY\U LOCAL\U 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)


我做错了什么?我该怎么做才能得到这个
机器UID

您的代码在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
参考: