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写CUDA程序的方法
Mar 27 Python
Python使用zip合并相邻列表项的方法示例
Mar 17 Python
详解Python如何生成词云的方法
Jun 01 Python
PyCharm+PySpark远程调试的环境配置的方法
Nov 29 Python
Python递归函数实例讲解
Feb 27 Python
python实现Virginia无密钥解密
Mar 20 Python
python networkx 根据图的权重画图实现
Jul 10 Python
详解程序意外中断自动重启shell脚本(以Python为例)
Jul 26 Python
PyTorch 对应点相乘、矩阵相乘实例
Dec 27 Python
Python 3.8 新功能大揭秘【新手必学】
Feb 05 Python
Django基础CBV装饰器和中间件
Mar 22 Python
分享python函数常见关键字
Apr 26 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读取30天之内的根据算法排序的代码
2008/04/06 PHP
PHP 显示客户端IP与服务器IP的代码
2010/10/12 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
2016/11/05 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
基于jquery的大众点评,分类导航实现代码
2011/08/23 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
[02:11]完美世界DOTA2联赛10月28日赛事精彩集锦:来吧展示实力强劲
2020/10/29 DOTA
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
Python正则表达式常用函数总结
2017/06/24 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
python with (as)语句实例详解
2020/02/04 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
写自荐信的七个技巧
2013/10/15 职场文书
函授毕业生的自我鉴定
2013/11/26 职场文书
服务理念标语
2014/06/18 职场文书
党员个人党性分析材料
2014/12/18 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
Python作用域和名称空间的详细介绍
2022/04/13 Python
解决MySQL报“too many connections“错误
2022/04/19 MySQL
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS
python高温预警数据获取实例
2022/07/23 Python