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


Posted in Python onFebruary 05, 2020

使用python操作注册表的方法最近学习了一下,现在做一下笔记,由于对Python语言的使用还不是很熟练,所以写不出高大上的结构,但是解决问题搓搓有余了。

说道注册表顺便也说一说环境变量的修改(放下下一节讲),里面有许多相似的地方,我觉得放在一起说会比较合适。

操作注册表

操作注册表主要引入winreg包,winreg包是python3自带的包,python2的名字和python3有区别_winreg,在这里只关注python3

key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"路径的名字")

OpenKeyEx打开一个注册表,路径不写就是根目录,给个图大家就明白了

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

点击确定打开windows注册表

上面写的winreg.HKEY_CLASSES_ROOT,就是上图中其中之一,想要打开哪个就写哪个的名字 •新建一个分支

newKey = winreg.CreateKey(key,"文件名")

•获取当前名称对应的值

winreg.QueryValueEx(key, '名称')

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

例如:winreg.QueryValueEx(key, 'PATH')

•设置当前目录下的值

winreg.SetValueEx(key,"名称",0,winreg.REG_EXPAND_SZ, "值")

例子:

key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"")
 #创建新的键
 newKey = winreg.CreateKey(key,"aTest")
 #给新创建的键添加键值
 winreg.SetValueEx(newKey,"a1",0,winreg.REG_EXPAND_SZ,"aaa")
 winreg.SetValueEx(newKey,"b1","star",1, "bbb")
 #创建新的子键
 key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"aTest")
 newKey = winreg.CreateKey(key,"DefaultIcon")
 winreg.SetValueEx(newKey,"",0,winreg.REG_EXPAND_SZ, "path ,1")

 newKey = winreg.CreateKey(key,"shell")
 key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"aTest\shell")
 newKey = winreg.CreateKey(key,"open")
 key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"aTest\shell\open")
 newKey = winreg.CreateKey(key,"command")
 winreg.SetValueEx(newKey,"url",0,winreg.REG_EXPAND_SZ, "\"path\" \"%1\"")

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

以上例子可以使用Url protocol,使用浏览器启动本地exe。直接将上文中的path换成本地exe的路径就可以了。

Python 操作注册表

通过Python的内置模块winreg这里主要给出一些winreg的Demo代码

Python2:import _winreg、Python3:import winreg

#!python37
# -*- coding: utf-8 -*-
# coding:utf-8

import winreg

def obtain():

  # 获取该键的所有键值
  key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r"Software\\Inspiry\\BasePay\\Address")

  # 获取该键的所有键值,遍历枚举
  try:
    i = 0
    while 1:
  # EnumKey用来枚举子键,EnumValue方法用来枚举键值,
      name, value, type1 = winreg.EnumValue(key, i)
      # print(repr(name),value)

      return value
      i +=1
  except WindowsError:
    print('error')

if __name__ == '__main__':
  obtain()

好了这篇文章就介绍到这了,希望以后多多支持三水点靠木。

Python 相关文章推荐
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
Feb 04 Python
python中尾递归用法实例详解
Apr 28 Python
python实现用户登录系统
May 21 Python
Python自定义线程类简单示例
Mar 23 Python
对python 读取线的shp文件实例详解
Dec 22 Python
解决Python设置函数调用超时,进程卡住的问题
Aug 08 Python
pyinstaller打包opencv和numpy程序运行错误解决
Aug 16 Python
python并发编程多进程之守护进程原理解析
Aug 20 Python
Python中Unittest框架的具体使用
Aug 27 Python
python编写softmax函数、交叉熵函数实例
Jun 11 Python
python,Java,JavaScript实现indexOf
Sep 09 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
Dec 15 Python
Python tkinter模版代码实例
Feb 05 #Python
Python Scrapy框架第一个入门程序示例
Feb 05 #Python
python lambda函数及三个常用的高阶函数
Feb 05 #Python
Python 3.8 新功能大揭秘【新手必学】
Feb 05 #Python
TensorFlow学习之分布式的TensorFlow运行环境
Feb 05 #Python
TensorFlow MNIST手写数据集的实现方法
Feb 05 #Python
tensorflow之并行读入数据详解
Feb 05 #Python
You might like
深入PHP内存相关的功能特性详解
2013/06/08 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
js查找父节点的简单方法
2008/06/28 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
js实现的仿新浪微博完美的时间组件升级版
2011/12/20 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
vue如何截取字符串
2019/05/06 Javascript
js中关于Blob对象的介绍与使用
2019/11/29 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python基础教程之匿名函数lambda
2017/01/17 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
Pycharm取消py脚本中SQL识别的方法
2018/11/29 Python
树莓派实现移动拍照
2019/06/22 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
为什么说python适合写爬虫
2020/06/11 Python
使用django自带的user做外键的方法
2020/11/30 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
经济学博士求职自荐信范文
2013/11/23 职场文书
大学生村官个人总结
2015/02/15 职场文书
建立共青团委员会的请示
2019/04/02 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python