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

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)
# 返回项的子项数目、项值数目,以及最后一次修改时间 

Python操作注册表步骤之4.设置项值

要修改或者重新设置注册表某一项的项值可以使用RegSetValueEx函数,如果要设置项的默认值可以使用RegSetValue函数。需要说明的是,对于RegSetValueEx,如果要设置的项值不存在,那么RegSetValueEx会添加该项值,如果存在,则修改该项值。其函数原型分别如下所示。

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:项值数据,为字符串。

以下的实例实现修改“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer”的默认值,以及其“Version”项值数据。

# 将“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer”的默认值设为python
>>> win32api.RegSetValue(key,'',win32con.REG_SZ,'python')
# 将其“Version”设置为7.0.2900.2180
>>> win32api.RegSetValueEx(key,'Version',0,win32con.REG_SZ,'7.0.2900.2180') 

Python操作注册表步骤之5.添加、删除项

要向注册表中添加项可以使用RegCreateKey函数。RegDeleteKey函数可以删除注册表中的项。其参数原型分别如下所示。

RegCreateKey(key, subKey )RegDeleteKey (key, subKey )

其参数含义相同,参数含义分别如下。

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

subKey:所要操作(添加或删除)的子项。

以下的实例实现对“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer”项的添加、删除子项操作。

# 向“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer”添加子项“Python”
>>> win32api.RegCreateKey(key,'Python')
# 新创建的子项的句柄# 删除刚才创建的子项“Python”
>>> win32api.RegDeleteKey(key,'Python') 

以上就是我们为大家详细介绍的有关Python操作注册表的相关应用方法。

(0)

相关推荐

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

    Python操作注册表步骤之1.打开注册表 对注册表进行操作前,必须打开注册表.在Python中,可以使用以下两个函数:RegOpenKey和RegOpenKeyEx.其函数原型分别如下所示. RegOpenKey(key, subKey , reserved , sam)RegOpenKeyEx (key, subKey , reserved , sam) 两个函数的参数一样.参数含义如下: key:必须为表10-1中列出的项. subKey:要打开的子项. reserved:必须为0. sa

  • 如何利用python操作注册表

    注册表是windows管理配置系统运行参数的一个核心数据库.在这个数据库里整合集成了全部系统和应用程序的初始化信息:其中包含了硬件设备的说明.相互关联的应用程序与文档文件.窗口显示方式.网络连接参数.甚至有关系到计算机安全的网络共享设置 . 1.读取 读取用的方法是OpenKey方法:打开特定的key winreg.OpenKey(key,sub_key,res=0,sam=KEY_READ) 例子:此例子是显示了本机网络配置的一些注册表项 import winreg key = winreg.

  • Python模块 _winreg操作注册表

    用python操作修改windows注册表,显然要比用C或者C++简单. 主要参考资料:官方文档:https://docs.python.org/zh-cn/3/library/winreg.html 通过python操作注册表主要有两种方式,一种是通过python的内置模块 _winreg,另一种方式就是 Win32 Extension For Python的win32api模块.这里主要简单看看用内置模块 _winreg如何操作注册表. 1.读取 读取用的方法是OpenKey方法:打开特定的

  • python3操作注册表的方法(Url protocol)

    使用python操作注册表的方法最近学习了一下,现在做一下笔记,由于对Python语言的使用还不是很熟练,所以写不出高大上的结构,但是解决问题搓搓有余了. 说道注册表顺便也说一说环境变量的修改(放下下一节讲),里面有许多相似的地方,我觉得放在一起说会比较合适. 操作注册表 操作注册表主要引入winreg包,winreg包是python3自带的包,python2的名字和python3有区别_winreg,在这里只关注python3 key = winreg.OpenKeyEx(winreg.HKE

  • python读取注册表中值的方法

    在Python的标准库中,_winreg.pyd可以操作Windows的注册表,另外第三方的win32库封装了大量的Windows API,使用起来也很方便.不过这里介绍的是使用_winreg操作注册表,毕竟是Python自带的标准库,无需安装第三方库. 下面的例子是通过Python获取Windows XP下已经安装的补丁号.Windows的补丁号都在"HKEY_LOCAL_MACHINE\SOFTWARE\\Microsoft\\Updates"下,通过循环下面所有的目录节点,如果找

  • 总结Python连接CS2000的详细步骤

    前言 记录CS2000设备使用串口连接以及相关控制. CS2000是一台分光辐射亮度计,也就是可以测量光源的亮度.详细的规格网址参考CS2000/CS-2000A,所有信息以柯尼卡美能达官网的参数以及使用手册为主. 使用目的及环境 当前的使用目的是使用PC端控制CS2000,测量屏幕的亮度数据. PC端使用Python,在Win10环境下开发: 需要额外安装的模块:pySerial: 设备连接方法 这台设备是支持USB1.1 Full-Speed和RS-232C的.其配套的软件CS-S10是使用

  • Python 操作 MongoDB 讲解详细

    目录 1.连接MongoDB 2.指定(切换)数据库 3.指定(切换)集合 4.插入数据 5.查询数据 6.统计查询 7.结果排序 8.偏移 9.更新数据 10.删除数据 1.连接MongoDB 需要使用Python第三方库pymongo来连接以及操作MongoDB,可以使用pip install pymongo进行安装. 可以使用下面代码来创建一个MongoDB的连接对象. import pymongo client = pymongo.MongoClient(host='localhost'

  • Python操作Access数据库基本步骤分析

    本文实例分析了Python操作Access数据库基本步骤.分享给大家供大家参考,具体如下: Python编程语言的出现,带给开发人员非常大的好处.我们可以利用这样一款功能强大的面向对象开源语言来轻松的实现许多特定功能需求.比如Python操作Access数据库的功能实现等等.在Python操作Access数据库之前,首先,你应安装了Python和Python for Windows extensions. 步骤之1.建立数据库连接 import win32com.client conn = wi

  • Python 下载及安装详细步骤

    安装python分三个步骤: *下载python *安装python *检查是否安装成功 1.下载Python (1)python下载地址https://www.python.org/downloads/ (2)选择下载的版本 (3)点开Download后,找到下载文件 Gzipped source tarball 是Linux系统下载的版本 XZ compressed source tarball 是CentOS系统下载的版本 注意Linux和CentOS自带python,一般不用再下载pyt

  • C# dump系统lsass内存和sam注册表详细

    目录 1.检测权限 2.lsass内存 3.实现reg save保存sam注册表 4.关于ExecuteAssembly 5.CS 插件 1.检测权限 因为dump系统lsass内存和sam注册表需要管理员权限,所以首先需要对当前进程上下文权限做判断. public static bool IsHighIntegrity() { // returns true if the current process is running with adminstrative privs in a high

随机推荐