用python操作修改windows注册表,显然要比用C或者C++简单。

主要参考资料:官方文档:http://docs.python.org/library/_winreg.html

通过 python 操作注册表主要有两种方式,一种是通过 python 的内置模块 _winreg ,另一种方式就是 Win32 Extension For Python 的 win32api 模块。这里主要简单看看用内置模块 _winreg 如何操作注册表。

1. 读取

读取用的方法是 OpenKey 方法:打开特定的 key

_winreg.OpenKey(key,sub_key,res=0,sam=KEY_READ)

例子 :此例子是显示了本机网络配置的一些注册表项

#!/usr/bin/env python

#coding=utf-8

import _winreg

key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,                      r"SYSTEM/CurrentControlSet/Services/Tcpip/Parameters/Interfaces/{0E184877-D910-4877-B 4C2-04F487B6DBB7}")

# 获取该键的所有键值,遍历枚举

try:

i=0

while 1:

#EnumValue 方法用来枚举键值, EnumKey 用来枚举子键

name,value,type = _winreg.EnumValue(key,i)

print repr(name),value,type

i+=1

except WindowsError:

print

# 假如知道键名,也可以直接取值

value,type = _winreg.QueryValueEx(key,"DhcpDefaultGateway")

print " 默认网关地址 ----",value,type

运行的结果如下:

'UseZeroBroadcast' 0 4

'EnableDeadGWDetect' 1 4

'EnableDHCP' 1 4

'IPAddress' [u'0.0.0.0'] 7

'SubnetMask' [u'0.0.0.0'] 7

'DefaultGateway' [] 7

'DefaultGatewayMetric' [] 7

'NameServer' 10.0.0.10 1

'Domain'  1

'RegistrationEnabled' 1 4

'RegisterAdapterName' 0 4

'TCPAllowedPorts' [u'0'] 7

'UDPAllowedPorts' [u'0'] 7

'RawIPAllowedProtocols' [u'0'] 7

'NTEContextList' [u'0x00000004'] 7

'DhcpClassIdBin' None 3

'DhcpServer' 10.104.4.1 1

'Lease' 907200 4

'LeaseObtainedTime' 1264122113 4

'T1' 1264575713 4

'T2' 1264915913 4

'LeaseTerminatesTime' 1265029313 4

'IPAutoconfigurationAddress' 0.0.0.0 1

'IPAutoconfigurationMask' 255.255.0.0 1

'IPAutoconfigurationSeed' 0 4

'AddressType' 0 4

'IsServerNapAware' 0 4

'DhcpIPAddress' 10.104.5.15 1

'DhcpSubnetMask' 255.255.254.0 1

'DhcpRetryTime' 453598 4

'DhcpRetryStatus' 0 4

'DhcpNameServer' 10.0.0.10 1

'DhcpDefaultGateway' [u'10.104.4.1'] 7

'DhcpSubnetMaskOpt' [u'255.255.254.0'] 7

默认网关地址 ---- [u'10.104.4.1'] 7

2. 创建 修改注册表

创建 key : _winreg.CreateKey(key,sub_key)

删除 key: _winreg.DeleteKey(key,sub_key)

删除键值: _winreg.DeleteValue(key,value)

import _winreg:用python操作修改windows注册表相关推荐

  1. 修改windows注册表使投影模式默认为复制

    可以通过以下步骤修改Windows注册表,使投影模式默认为复制: 打开"运行"对话框(按下Win+R),输入"regedit",并按Enter键打开注册表编辑器 ...

  2. python 学习之 WINDOWS 注册表学习(一)

    文章出自<Python绝技 运用Python成为顶级***>中部分代码,稍作修改 遍历Windows注册表键值,代码如下: import _winreg key=_winreg.OpenK ...

  3. linux修改windows注册表,妙招:让修改的注册表立即生效的几种方法

    建站学院(LieHuo.Net)Windows文档Windows操作系统是全球最广泛,使用者最多的软件,熟悉Windows软件成了电脑操作者必不可少的功课,注册表作为"Windows的神经系 ...

  4. 修改windows注册表权限

    修改时可能出现权限问题,无法编辑,提示键入该值的新内容时出错.解决方法如下: 右键cmd或者powershell,选择"权限",在出现的窗口中选择下方的"高级" ...

  5. 清理jdk注册表_JDK 9早期版本安装后的Windows注册表清理

    清理jdk注册表 在我的上一篇博文中 ,我演示了在安装早期版本的JDK 9(内部版本68)之后围绕Oracle Java符号链接 (基于Windows的计算机上的C:\ProgramData\Orac ...

  6. JDK 9早期版本安装后的Windows注册表清理

    在我的上一篇博文中 ,我演示了在安装早期版本的JDK 9(内部版本68)之后围绕Oracle Java符号链接 (基于Windows的计算机上的C:\ProgramData\Oracle\Java\j ...

  7. SAP GUI和Windows注册表

    本文是2020年第16篇原创文章,也是汪子熙公众号总共第199篇原创文章. 今天是猪年最后一天,大年三十.往年的这个时候,我都有点紧张,因为有亲戚会来串门,而亲戚的熊孩子们,出于好奇总是会觊觎我书房里 ...

  8. 视频教程-C#对Windows注册表的操作-C#

    C#对Windows注册表的操作 二十多年的企业管理软件开发经历,熟知管理软件的整个开发流程,熟练掌握VFP语言,掌握VB语言,了解JAVA.asp.net.CSS.HTML/HTML5等语言,使用C ...

  9. Windows注册表修改实例完全手册(上)

    注册表是Windows操作系统的核心.它实质上是一个庞大的数据库,存放有计算机硬件和全部配置信息.系统和应用软件的初始化信息.应用软件和文 档文件的关联关系.硬件设备说明以及各种网络状态信息和数据.可 ...

最新文章

  1. 《网管员必读》学习笔记之DNS服务器的安装与配置
  2. Redis源码试读(一)源码准备
  3. number to string - LeetCode【数字 = 字符串】
  4. 开启Office 2003出现要安装PRO11.MSI解决方法 (zhuan)
  5. jsp中jsp中群发邮件群发邮件
  6. MongoDB安装步骤
  7. java 接口编程_JAVA面向接口编程
  8. 网站本地调试工具_一款Web调试代理工具:Fiddler
  9. 我的起点(蛇形矩阵)
  10. 运行npm install命令的时候会发生什么?
  11. ASP.NET基础教程-C#与JAVA的比较
  12. 递归的效率问题以及递归与循环的比较
  13. 备课好帮手,免费分享 下载
  14. 51单片机的家居空气质量监测系统proteus仿真设计
  15. php美颜滤镜,美颜滤镜的虚幻不如一支玻尿酸来的真实
  16. 解决Oracle安装过程中出现的缺少KEY_XE.reg文件的问题
  17. 对接企业微信3:网页授权登录
  18. LabWindows/CVI(一):各文件类型的含义及初始项目的搭建
  19. ​特拉华大学彭曦教授招收2021 Fall全奖博士生
  20. java毕业设计云笔记管理系统Mybatis+系统+数据库+调试部署

热门文章

  1. 几本对于笔试和面试有用的书
  2. LeetCode每日一题:N叉树的层序遍历(No.429)
  3. 「镁客早报」第九城市与法拉第未来成立合资公司,出资6亿美元;华为获得韩国运营商5G订单,占比95%...
  4. 使用C++版本Mxnett进行预测的注意事项
  5. 类的继承定义一个computer类在此基础上派生出两个子类(继承与多态绑定)
  6. Angular js 具体应用(一)
  7. Cracking the coding interview--Q1.5
  8. 关键词多样性的重要意义
  9. Mac OS 错误代码 -8072的可行解决方法
  10. Matlab坐标轴中的希腊字母