管家
unread,May 17, 2008, 2:19:51 AM5/17/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Python讨论组
使用python操作注册表
表10-1 Windows注册表基本项
项名
描述
HKEY_CLASSES_ROOT
是HKEY_LOCAL_MACHINE\Software 的子项,保存打开文件所对应的应用程序信息
HKEY_CURRENT_USER
是HKEY_USERS的子项,保存当前用户的配置信息
HKEY_LOCAL_MACHINE
保存计算机的配置信息,针对所有用户
HKEY_USERS
保存计算机上的所有以活动方式加载的用户配置文件
HKEY_CURRENT_CONFIG
保存计算机的硬件配置文件信息
通过使用win32api模块和win32con模块,python可以方便地访问注册表,并对其进行打开、关闭、添加项、删除项,以及添加、修改项值
等操作。
1.打开注册表
RegOpenKey(key, subkey, reserved, sam)
RegOpenKeyEx(key, subkey, reserved, sam)
两个函数的参数一样。参数含义如下:
Key:必须为表10-1中列出的项。
SubKey:要打开的子项。
Reserved:必须为0。
Sam:对打开的子项进行的操作,包括
win32con.KEY_ALL_ACCESS、win32con.KEY_READ、win32con.KEY_WRITE等
如key=win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,'Software',
0,win32con.KEY_READ)
2.关闭注册表
RegCloseKey(key)
其参数只有一个,其含义如下:
Key:已经打开的注册表项的句柄。
如win32api.RegCloseKey(key)
3.读取项值
RegQueryValue(key,subKey) 读取项的默认值
RegQueryValueEx(key,valueName) 读取某一项值
对于RegQueryValue,其参数含义如下:
Key:已打开的注册表项的句柄。
subKey:要操作的子项。
对于RegQueryValueEx,其参数含义如下:
Key:已经打开的注册表项的句柄。
valueName:要读取的项值名称。
4.设置项值
RegSetValueEx(key,valueName,reserved,type,value) 要修改或重新设置注册表某一项的项值。如果项值
存在,则修改该项值,如果不存在,则添加该项值。
RegSetValue(key,subKey,type,value) 设置项的默认值
对于RegSetValueEx,其参数含义如下:
Key:要设置的项的句柄。
valueName:要设置的项值名称。
Reserved:保留,可以设为0。
Type:项值的类型。
Value:所要设置的值。
对于RegSetValue,其参数含义如下:
Key:已经打开的项的句柄。
subKey:所要设置的子项。
Type:项值的类型,必须为win32con.REG_SZ。
Value:项值数据,为字符串。
5.添加、删除项
RegCreateKey(key,subKey) 向注册表中添加项
RegDeleteKey(key,subKey) 删除注册表中的项
其参数含义相同,参数含义分别如下:
Key:已经打开的注册表项的句柄。
subKey:所要操作(添加或删除)的子项。