python实现查找所有程序的安装信息
如题,答案是:通过注册表查找。
windows系统中有两支子健存储有所有程序的安装信息:
1,HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\CompatibilityAssistant\Store
以下是查找360浏览器安装路径的python代码示例:
importwin32con,win32api deffind_360se_path(): upper_keyword='360SE.EXE' path=None sub_key=r'Software\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\CompatibilityAssistant\Store' key=win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,sub_key,0,win32con.KEY_READ) info=win32api.RegQueryInfoKey(key) foriinrange(0,info[1]): value=win32api.RegEnumValue(key,i) ifvalue[0].upper().endswith(upper_keyword): path=value[0] break win32api.RegCloseKey(key) returnpath
2,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppPaths
以下是查找360浏览器安装路径的python代码示例:
importwin32con,win32apidef find_360se_path(): upper_value_keyword='360SE.EXE' upper_item_name_keyword='360SE6.EXE' path=None sub_key1=r'SOFTWARE\Microsoft\Windows\CurrentVersion\AppPaths' key1=win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,sub_key1,0,win32con.KEY_READ) info1=win32api.RegQueryInfoKey(key1) foriinrange(0,info1[0]): key_name=win32api.RegEnumKey(key1,i) ifkey_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) forjinrange(0,info2[1]): key_value=win32api.RegEnumValue(key2,j)[1] ifkey_value.upper().endswith(upper_value_keyword): path=key_value break win32api.RegCloseKey(key2) break win32api.RegCloseKey(key1) returnpath
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。