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 生成器生成杨辉三角的方法(必看)
Apr 10 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
用python制作游戏外挂
Jan 04 Python
django项目搭建与Session使用详解
Oct 10 Python
selenium+python自动化测试之环境搭建
Jan 23 Python
pandas基于时间序列的固定时间间隔求均值的方法
Jul 04 Python
用python写测试数据文件过程解析
Sep 25 Python
pandas实现DataFrame显示最大行列,不省略显示实例
Dec 26 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 Python
Python基于pyjnius库实现访问java类
Jul 31 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
Dec 17 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
Mar 03 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桌面中心(三) 修改数据库
2007/03/11 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
PHP类的反射用法实例
2014/11/03 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
jquery的attr方法禁用表单元素禁用输入内容
2014/06/23 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
2016/11/23 Javascript
基于JS递归函数细化认识及实用实例(推荐)
2017/08/07 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
解决Vue2.x父组件与子组件之间的双向绑定问题
2018/03/06 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
JavaScript浅层克隆与深度克隆示例详解
2020/09/01 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Flask框架配置与调试操作示例
2018/07/23 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
python实现图片转字符画
2021/02/19 Python
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
医药专业推荐信
2013/11/15 职场文书
求职信模板怎么做
2014/01/26 职场文书
15个值得收藏的JavaScript函数
2021/09/15 Javascript
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis
「月刊Action」2022年5月号封面公开
2022/03/21 日漫