error: (2, 'RegOpenKeyEx',错误的解决方法

在python中读取注册表中的键值,代码如下:

#coding:utf-8

import win32api, win32con
import os
key = win32api.RegOpenKeyEx(win32con.HKEY_CLASSES_ROOT, 'CLSID\\{01249E9F-88FF-45d5-82DB-A1BEE06E123C}\\Shell\Open\\Command', 0,  win32con.KEY_READ)
keyValue = win32api.RegQueryValue(key, '')


print keyValue

然后运行的时候报下面的错误:

Traceback (most recent call last):
  File "D:\users\Desktop\yunpanAuto.py", line 8, in <module>
    key = win32api.RegOpenKeyEx(win32con.HKEY_CLASSES_ROOT, 'CLSID\\{01249E9F-88FF-45d5-82DB-A1BEE06E123C}\\Shell\Open\\Command', 0,  win32con.KEY_READ)
error: (2, 'RegOpenKeyEx', '\xcf\xb5\xcd\xb3\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xce\xc4\xbc\xfe\xa1\xa3')

这个依据我自身的问题,原因是我的window系统是64位,而python是32位,因此需要加上另外一个参数:

key = win32api.RegOpenKeyEx(win32con.HKEY_CLASSES_ROOT, 'CLSID\\{01249E9F-88FF-45d5-82DB-A1BEE06E123C}\\Shell\Open\\Command', 0,  win32con.KEY_READ | win32con.KEY_WOW64_64KEY)

 将上面的key后面的语句更改即可。

猜你喜欢

转载自moxuan424.iteye.com/blog/2057296