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 连连看连接算法
Nov 22 Python
Python BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
Python fileinput模块使用实例
May 28 Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 Python
详解用python实现简单的遗传算法
Jan 02 Python
Python使用指定端口进行http请求的例子
Jul 25 Python
TensorFLow 不同大小图片的TFrecords存取实例
Jan 20 Python
Python图像识别+KNN求解数独的实现
Nov 13 Python
python 利用matplotlib在3D空间中绘制平面的案例
Feb 06 Python
Python 转移文件至云对象存储的方法
Feb 07 Python
python源文件的字符编码知识点详解
Mar 04 Python
Python面试不修改数组找出重复的数字
May 20 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
人大复印资料处理程序_查询篇
2006/10/09 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
php文件夹的创建与删除方法
2015/01/24 PHP
JavaScript 学习技巧
2010/02/17 Javascript
input 输入框内的输入事件详细分析
2010/03/17 Javascript
javascript处理table表格的代码
2010/12/06 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
javascript中Date()函数在各浏览器中的显示效果
2015/06/18 Javascript
JavaScript记录光标在编辑器中位置的实现方法
2016/04/22 Javascript
JavaScript 数组some()和filter()的用法及区别
2016/05/20 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
javascript学习之json入门
2016/12/22 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
wxpython学习笔记(推荐查看)
2014/06/09 Python
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
遗传算法之Python实现代码
2017/10/10 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
婚礼证婚人证婚词
2014/01/08 职场文书
毕业晚会主持词
2014/03/24 职场文书
房展策划方案
2014/06/07 职场文书
党支部特色活动方案
2014/08/20 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
python获取对象信息的实例详解
2021/07/07 Python