200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Python 技术篇-用win32库实现读取 添加 修改注册表的值实例演示

Python 技术篇-用win32库实现读取 添加 修改注册表的值实例演示

时间:2020-05-08 17:45:46

相关推荐

Python 技术篇-用win32库实现读取 添加 修改注册表的值实例演示

注册表编辑器里默认有这5个根目录,每个目录的说明如下:

# -*- coding: UTF8 -*-# 日期:.12.15# 作者:小蓝枣import win32apiimport win32con# 读取注册表reg = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, 'SOFTWARE\\Policies\\Google\\Update', 0, win32con.KEY_ALL_ACCESS)def set_reg(reg, reg_name, reg_type, reg_value):"""作用:设置注册表参数0:注册表参数1:设置项的名字参数2:设置项的类型参数3:设置项的值"""win32api.RegSetValueEx(reg, reg_name, 0, reg_type, reg_value);# 设置注册表set_reg(reg, "UpdateDefault", win32con.REG_DWORD, 0)set_reg(reg, "Python", win32con.REG_SZ, "小蓝枣")

修改完后刷新一下就生效了。

默认添加注册表项的话需要在指定路径下进行添加,如果原注册表里路径就是不全的,添加会报错,下面的方法可以实现在添加注册表前检测路径是否是完整的,不完整的话会自动进行补全。

因为用到了traceback.format_exc(),所以使用时要提前导入下traceback库。

win32api.RegCreateKey(读取的注册表实体, "添加项的名字")用来添加项。

def test_item(reg_path):"""作用:注册表项补全功能参数:检查输入的项路径是否完整,不完整自动添加项将其补全返回:读取注册表后的实体"""reg = ""try:reg = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, reg_path, 0, win32con.KEY_ALL_ACCESS)except Exception as e:if('系统找不到指定的文件。' in traceback.format_exc()):s = reg_pathindex = len(s) - s[::-1].index("\\");key = test_item(s[:index-1])win32api.RegCreateKey(key, s[index:])reg = win32api.RegOpenKey(key, s[index:], 0, win32con.KEY_ALL_ACCESS)return reg

喜欢的点个赞❤吧!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。