使用python读取windows注册表

在windows系统中,注册表 是系统定义的数据库,应用程序和系统组件在其中存储和检索配置数据。
注册表是一个分层数据库,其中包含对 Windows本身以及Windows上运行的应用程序和服务至关重要的数据。 因此我们还是不好进行随意操作,但是查看注册表的信息可以让我们更加了解系统的运行情况。
数据以树格式进行结构化。树中的每个节点称为键。每个键可以同时包含子项和数据条目,称为值。
通过查看注册表的数据我们可以发现一些比较有趣的系统信息。比如我们可以通过注册表看到用户定义的环境变量,

reg1

也可以查看菜单在文件夹空白处右键的菜单操作。

reg2

以下是使用python3对注册表进行读取的代码。

import winregdef enumerate_registry_values(key, sub_key):"""枚举注册表键中的所有值:param key_path: 注册表键路径"""# key  可以是一个打开的key,或者winreg预定义的值HKEY_* constantstry:reg_key = winreg.OpenKey(key, sub_key, 0, winreg.KEY_READ)except OSError:print(f"can't open key {key}/{sub_key}")returnvalues = []index = 0while True:try:# 枚举值value_name, value_data, value_type = winreg.EnumValue(reg_key, index)values.append((value_name, value_data, value_type))index += 1except OSError:# 当没有更多值时跳出循环breakwinreg.CloseKey(key)print(f"枚举值成功 - 路径: {key}{sub_key}, 值数量: {len(values)}")for name, data, type_ in values:print(f"  名称: {name}, 值: {data}, 类型: {type_}")print("基于注册表查看用户环境变量")
# 查看用户定义的环境变量路径是:HKEY_CURRENT_USER\Environment
enumerate_registry_values(winreg.HKEY_CURRENT_USER,"Environment")def get_children_key_names(key, sub_key):"""获取key的子节点的key并且以数组返回"""# key  可以是一个打开的key,或者winreg预定义的值HKEY_* constantsreg_key = winreg.OpenKey(key, sub_key, 0, winreg.KEY_READ)sub_key_names = []index = 0while True:try:# 枚举值sub_key_name = winreg.EnumKey(reg_key, index)sub_key_names.append(sub_key_name)index += 1except OSError:# 当没有更多值时跳出循环breakwinreg.CloseKey(key)return sub_key_namesprint("基于注册表查看对文件夹右键菜单的操作")
# 遍历路径:\HKEY_CLASSES_ROOT\Directory\Background\shell,查看针对文件夹中空白处右键菜单的操作
sub_key_names=get_children_key_names(winreg.HKEY_CLASSES_ROOT,r"Directory\Background\shell")
for sub_key_name in sub_key_names:# 菜单的操作在command的值中enumerate_registry_values(winreg.HKEY_CLASSES_ROOT,r'Directory\Background\shell\\'+""+sub_key_name+r"\command")

输出如下:

reg3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910709.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当日总结

继承 继承是面向对象编程中的一个重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。通过继承,子类可以重用父类的代码,从而提高代码的复用性和模块化。在Java中,继承通过extends关键字实现,Java只…

3123004481

第一次个人编程作业这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/134…

淮安建设局网站最新产品上市代理加盟

jpa 手动预编译JPA提供了几种查询数据的方法。 可以根据各种标准(例如,使用的语言(SQL与JPQL)或查询是静态的(编译时间)还是动态的(执行时间))对此类替代方案进行分类。 …

网站开发实训指导书在线制作广告图片

原标题:赵县308国道一路口发生一起大货车与电动三轮车碰撞事故,电动三轮车驾驶人受伤。2020年11月4日上午,赵县308国道一路口发生一起大货车与电动三轮车碰撞事故,造成电动三轮车驾驶人受伤。大货车驾驶人驾驶一辆重型货车&#x…

科技公司网站设计方案页面设计公司招聘

怎么把Python当计算器用?(小白自学笔记) Part I:标准数学包的导入 今天刚刚装了python,打算用它来取代matlab的基本计算功能,当我的日常计算器用。(这里还有一个捷径,如果你跟我一样也是纯小白的话,直接问c…

青春网站建设工作室wordpress调出媒体库

文章目录 一.docker容器概述1.什么是容器2. docker与虚拟机的区别2.1 docker虚拟化产品有哪些及其对比2.2 Docker与虚拟机的区别 3.Docker容器的使用场景4.Docker容器的优点5.Docker 的底层运行原理6.namespace的六项隔离7.Docker核心概念 二.Docker安装 及管理1.安装 Docker1.…

旅游网站开发系统的er图服务好的镇江网站优化

为保证2019年上半年博士生毕业工作顺利开展,根据我校博士生答辩管理的相关文件,现将有关事项通知如下,请遵照执行。1.毕业申请:拟毕业研究生于3月15日前登录“中南大学研究生教育管理信息系统”(以下简称管理系统),在管理系统个人…

网站备案需要具备什么wordpress 元描述

文章目录 1、写时拷贝2、进程终止2.1 进程退出场景2.1.1 退出码2.1.2 错误码错误码 vs 退出码2.1.3 代码异常终止引入 2.2 进程常见退出方法2.2.1 exit函数2.2.2 _exit函数 本片我们主要来讲进程控制,讲之前我们先把写时拷贝理清,然后再开始讲进程控制。…

文具电子商务网站开发内容哈尔滨网站备案手续

应用架构与可观测技术演进历程 在软件开发早期,单体应用架构因其结构简单,便于测试和部署,得到了广泛的应用,对应的监控诊断技术主要是基于日志和日志关键词的指标监控。随着软件复杂度的不断提升,单体应用架构逐步向分…

购物网站建设基本流程树状图大连网站建设设计公司哪家好

深度学习模型种类繁多,可以根据任务类型和应用场景进行分类。以下是主要模型类型的详细介绍,每种模型包含了其特点、功能、代表性模型,以及常见应用。 1. 分类模型 分类模型是深度学习中最基本也是最广泛应用的模型类型,其目标是…

使用python读取windows日志表

在windows系统中,注册表 是系统定义的数据库,应用程序和系统组件在其中存储和检索配置数据。 注册表是一个分层数据库,其中包含对 Windows本身以及Windows上运行的应用程序和服务至关重要的数据。 因此我们还是不好…

西安市免费做网站站长统计幸福宝下载

引言 在当前计算机科学领域中,保护软件代码的安全性和隐私性变得愈发重要。为了防止黑客攻击和恶意软件分析,开发人员采用各种技术来混淆和加密其代码,其中包括JS混淆技术。本文将介绍JS混淆技术的原理和应用,并提供一些相关的加密…

网站建设方案对比分析社区团购最新模式

1.Python2.webservice3.requirejs4.idea5.webService6.redis7.doubble8.mongDB9.zookper 大数据学习曲线:课程一、大数据运维之Linux基础课程二、大数据开发核心技术-Hadoop 2.x从入门到精通课程三、大数据开发核心技术-大数据仓库Hive精讲课程四、大数据协作框架-S…

建设厅八大员报名网站免费企业网站源码

跳跃游戏 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。在这里插入图片…

建设银行甘肃分行网站企业微信app下载安装官网

CentOS 安装nginx 安装使用的是配置nginx官网yum仓库安装 同时适用于Red Hat Enterprise Linux 及其衍生产品,例如 CentOS、Oracle Linux、Rocky Linux、AlmaLinux 如想使用压缩包解压方式安装请自行百度 注:安装全程使用非root用户 且 该用户已有sudo权…

佛山营销型网站建设公司第三方网站开发优缺点

YUM 功能 软件包安装&#xff1a; 通过yum命令安装软件包。例如&#xff0c;安装一个名为 example-package 的软件包 yum install example-package更新包 检查更新&#xff1a; 检查可用更新&#xff1a; sudo yum check-update <package_name>软件包更新&#xff1a; y…

万网官方网站浙江省建设工程监理管理协会网站

题目描述 最近米咔买了n个苹果和m个香蕉&#xff0c;他每天可以选择吃掉一个苹果和一个香蕉&#xff08;必须都吃一个&#xff0c;即如果其中一种水果的数量为0&#xff0c;则他不能进行这个操作&#xff09;&#xff0c;或者使用魔法将某一种水果的数量翻倍。 现在米咔想吃西…

宿州产品网站建设网站开发合同书

本文是LLM系列文章&#xff0c;针对《Meta Semantic Template for Evaluation of Large Language Models》的翻译。 大型语言模型评估的元语义模板 摘要1 引言2 相关工作3 方法4 实验5 结论 摘要 大型语言模型(llm)是否真正理解语言的语义&#xff0c;或者只是记住训练数据?…

开机RAM分析调试SOP

思维导图 数据来源 内存分解对比项一、硬件保留内存 二、MemFree剩余物理内存 三、MemAvailable剩余可用内存Kernel占用内存 用户空间占用内存 思维导图 数据来源/proc/meminfo 内存状态信息 dumpsys memin…

9.20 模拟赛 T4

题意:有 \(n\) 个点,每个点有四个属性 \(a_i,b_i,c_i,v_i\)。现在要在这 \(n\) 个点之间连无向边。要求:\(i\) 的度数至少为 \(a_i\)。 \(i\) 的所有邻居 \(j\) 的 \(v_j\),要么都小于等于 \(v_i\),要么都大于等于…