python实现查找所有程序的安装信息


Posted in Python onFebruary 18, 2020

如题,答案是:通过注册表查找。

windows系统中有两支子健存储有所有程序的安装信息:

1,HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store

python实现查找所有程序的安装信息

以下是查找360浏览器安装路径的python代码示例:

import win32con, win32api

def find_360se_path(): 
 upper_keyword = '360SE.EXE' 
 path = None 
 sub_key = r'Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store' 
 key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, sub_key, 0, win32con.KEY_READ) 
 info = win32api.RegQueryInfoKey(key) 
 for i in range(0, info[1]):  
  value = win32api.RegEnumValue(key, i)  
  if value[0].upper().endswith(upper_keyword):
   path = value[0]   
   break 
 win32api.RegCloseKey(key) 
 return path

2,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

python实现查找所有程序的安装信息

以下是查找360浏览器安装路径的python代码示例:

import win32con, win32apidef 

find_360se_path(): 
 upper_value_keyword = '360SE.EXE' 
 upper_item_name_keyword = '360SE6.EXE' 
 path = None 
 sub_key1 = r'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths' 
 key1 = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, sub_key1, 0, win32con.KEY_READ) 
 info1 = win32api.RegQueryInfoKey(key1) 
 for i in range(0, info1[0]):  
  key_name = win32api.RegEnumKey(key1, i)  
  if key_name.upper() == upper_item_name_keyword:
   sub_key2 = sub_key1 + '\\' + key_name
   key2 = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, sub_key2, 0, win32con.KEY_READ)   
   info2 = win32api.RegQueryInfoKey(key2)   
   for j in range(0, info2[1]):    
    key_value = win32api.RegEnumValue(key2, j)[1]
    if key_value.upper().endswith(upper_value_keyword): 
     path = key_value     
     break   
   win32api.RegCloseKey(key2)   
  break 
 win32api.RegCloseKey(key1) 
 return path
Python 相关文章推荐
Python正则表达式教程之三:贪婪/非贪婪特性
Mar 02 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
在mac下查找python包存放路径site-packages的实现方法
Nov 06 Python
Python控制键盘鼠标pynput的详细用法
Jan 28 Python
Python判断对象是否相等及eq函数的讲解
Feb 25 Python
Python3 使用pillow库生成随机验证码
Aug 26 Python
python智联招聘爬虫并导入到excel代码实例
Sep 09 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
python Jupyter运行时间实例过程解析
Dec 13 Python
python图形开发GUI库pyqt5的基本使用方法详解
Feb 14 Python
Keras在训练期间可视化训练误差和测试误差实例
Jun 16 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
Jan 27 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 #Python
Pytorch mask_select 函数的用法详解
Feb 18 #Python
pytorch masked_fill报错的解决
Feb 18 #Python
python分别打包出32位和64位应用程序
Feb 18 #Python
pandas和spark dataframe互相转换实例详解
Feb 18 #Python
PyTorch中Tensor的数据统计示例
Feb 17 #Python
pytorch实现Tensor变量之间的转换
Feb 17 #Python
You might like
php简单定时执行任务的实现方法
2015/02/23 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
jquery无缝向上滚动实现代码
2013/03/29 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
2015/07/05 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
[43:57]Liquid vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python操作CouchDB数据库简单示例
2015/03/10 Python
Python实现图像几何变换
2015/07/06 Python
Python程序中设置HTTP代理
2016/11/06 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
python复制文件到指定目录的实例
2018/04/27 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
Python高级特性之闭包与装饰器实例详解
2019/11/19 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
xml有哪些解析技术?区别是什么
2016/04/26 面试题
Laravel中Kafka的使用详解
2021/03/24 PHP
《春笋》教学反思
2014/04/15 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
出国留学自荐信模板
2015/03/06 职场文书
浅谈克隆 JavaScript
2021/11/02 Javascript
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技