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操作注册表的相关应用方法。

删除python的注册表_Python操作注册表详细步骤介绍相关推荐

  1. python访问注册表_Python 操作注册表

    通过Python操作注册表有两种方式,第一种是通过Python的内置模块 _winreg:另一种方式就是Win32 Extension For Python 的win32api模块,但是需要进行额外的 ...

  2. python怎样操作excel表_python操作excel表

    1.新增表并添加数据: 2.给工作表添加表名称,给表数据添加格式: import xlsxwriter datas=(['Rent',1000], ['Gas',100], ['fish','画画'] ...

  3. 用VUE实现一个具有登陆、注册等功能的网站【详细步骤】

    用VUE实现一个具有登陆.注册等功能的网站[详细步骤] 用VUE实现一个具有登陆.注册等功能的网站[详细步骤] 一.主要功能 二.实现思路 1.页面设计 2.功能设计 3.重点和难点 三.代码实现 1 ...

  4. python访问注册表_python读取注册表中值的方法

    在python的标准库中,_winreg.pyd可以操作windows的注册表,另外第三方的win32库封装了大量的windows api,使用起来也很方便.不过这里介绍的是使用_winreg操作注册 ...

  5. java代码操作注册表,java操作注册表范例代码

    java操作注册表实例代码 以下代码的作用是读取USB设备: package org.yangzc.reglistener; import com.ice.jni.registry.Registry; ...

  6. python创建数据库表_Python 操作数据库(1)SQL基础

    一.数据库 关系型数据库 常见的关系型数据库:SQL Server.MySql.MariaDB.SQLite.ORACLE.PostgreSQL等 非关系型数据库 常见的非关系型数据看:MongoDB ...

  7. python设置excel自动换行_python操作excel

    python操作Excel openpyxl模块 0.介绍 openpyxl是一个Python库,用于读取/写入Excel 2010 xlsx / xlsm / xltx / xltm文件. 它的诞生 ...

  8. Python之如何使用pandas操作Excel表

    目录 1.前言 2.读取Excel 3.对Excel进行操作 3.1.获取行号.列名 3.2.获取单元格的值,并循环输出 3.3.对空值进行处理,替换 3.4.增加一列,并对新增列的第一行进行赋值 3 ...

  9. 使用python处理wps表格_python 操作 office

    标签: 首先介绍下office win32 com接口,这个是MS为自动化提供的操作接口,比如我们打开一个WORD文档,就可以在里面编辑VB脚本,实现我们自己的效果.对于这种一本万利的买卖,Pytho ...

最新文章

  1. 【Qt】在ubuntu上打包发布Qt程序,可以不依赖Qt环境
  2. 5G NR — 频率、频段、载波、载频、载波带宽
  3. 部署Wi-Fi 6之前要回答的5个问题—Vecloud
  4. Sqlite数据库相关
  5. MySQL小问题:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents...
  6. hibernate 封装 2008-11-12 17:21 (分类:默认分类)
  7. 【引用】成熟人格六要素
  8. SQL Server系列
  9. mysql使用innodb需要注意的情况
  10. Atitit React的相关概念东东 attilax总结 v3
  11. ArcGIS知乎干货教程大集合
  12. 【神经网络算法入门】详细推导全连接神经网络算法及反向传播算法+Python实现代码
  13. 使用 Auto-TS 自动化时间序列预测
  14. linux核显显示独显内容,Linux驱动显示Intel第12代核显新特性:显示状态缓存
  15. html回到上一步,【答疑】Photoshop返回上一步和下一步快捷键是什么? - 视频教程线上学...
  16. python取出列表的第一列_python取第一列
  17. cups共享linux打印机_Linux使用CUPS实现网络打印机
  18. c语言统计大写英文字母的个数,c语言 对任意输入的字符串,统计其中的大写字母和小写字母的个数...
  19. c语言表达式必须包含指针类型,c – 错误:表达式必须是指向完整对象类型的指针(?)...
  20. 混合移动开发 相关技术梳理(自用)

热门文章

  1. AAAI 独家 | 腾讯AI Lab 现场陈述论文:使众包配对排名聚合信息最大化的 HodgeRank
  2. FFmpeg源代码学习
  3. Nginx-1.9.8推出的切片模块
  4. ssh 远程登录不用密码 ssh-keygen -t rsa
  5. electron开发
  6. Storm 01_初识初知
  7. JVM从入门到精通(五): Java运行时数据区和常用指令
  8. 【Java网络编程(二)】UDP案例——在线咨询
  9. Java for循环的几种用法
  10. Dynamo:亚马逊的高可用键值存储