首页 > 编程 > Python > 正文

Python操作注册表详细步骤介绍

2020-02-15 21:22:58
字体:
来源:转载
供稿:网友

Python操作注册表步骤之1.打开注册表

对注册表进行操作前,必须打开注册表。在Python中,可以使用以下两个函数:RegOpenKey和RegOpenKeyEx。其函数原型分别如下所示。

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等。

以下实例实现打开注册表“HKEY_CURRENT_USER/Software”项。

>>> import win32api # 导入win32api模块>>> import win32con # 导入win32con模块# 使用RegOpenKey打开注册表项>>> key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,'Software',0,win32con.KEY_READ)>>> print key # key为打开的项的句柄 

Python操作注册表步骤之2.关闭注册表

打开的注册表,在操作完成后,需要关闭。在Python中使用RegCloseKey函数关闭打开的注册表项。其函数原型如下所示。

RegCloseKey(key)

其参数只有一个,其含义如下。

key:已经打开的注册表项。

以下实例关闭一个已经打开的注册表项。

# 关闭刚才打开的注册表项

>>> win32api.RegCloseKey(key)

>>> print key

Python操作注册表步骤之3.读取项值

在打开注册表项以后,可以使用RegQueryValue函数读取项的默认值。如果要读取某一项值,可以使用RegQueryValueEx函数。其函数原型分别如下所示。

RegQueryValue(key, subKey )RegQueryValueEx(key, valueName )

对于RegQueryValue,其参数含义如下。

key:已打开的注册表项的句柄。

subKey:要操作的子项。

对于RegQueryValueEx,其参数含义如下。

key:已经打开的注册表项的句柄。

valueName:要读取的项值名称。

以下实例实现对“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer”项的操作。

>>> import win32api >>> import win32con# 打开“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer”项 >>> key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,'SOFTWARE//Microsoft//Internet Explorer',0, win32con.KEY_ALL_ACCESS) >>> win32api.RegQueryValue(key,'')  # 读取项的默认值''  # 输出为空,表示其默认值未设置#读取项值名称为Version的项值数据,也就是Internet Explorer的版本 >>> win32api.RegQueryValueEx(key,'Version') ('6.0.2900.2180', 1) >>> win32api.RegQueryInfoKey(key)  # RegQueryInfoKey函数查询项的基本信息(26, 7, 128178812229687500L)  # 返回项的子项数目、项值数目,以及最后一次修改时间             
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表