小编Den*_*kin的帖子

已安装程序列表

我使用寄存器中的搜索和 Win32_Product 类来获取计算机上安装的程序列表,但它没有给出所有程序,我见过 C++ 中的程序给出的结果与控制面板的程序和组件。是否有任何可以给我相同结果的 python api。这是c ++的代码https://www.codeproject.com/Articles/6791/How-to-get-a-list-of-installed-applications 这就是我使用的:import win32com.client

strComputer = "."
objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
objSWbemServices = objWMIService.ConnectServer(strComputer, "root\cimv2")
colItems = objSWbemServices.ExecQuery("Select * from Win32_Product")
for objItem in colItems:

print("Name: ", objItem.Name)
Run Code Online (Sandbox Code Playgroud)

和 whis 注册表:

 aReg = ConnectRegistry(None, HKEY_LOCAL_MACHINE)
                    aKey = OpenKey(aReg, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
                    for i in range(1024):
                        try:
                            asubkey_name = EnumKey(aKey, i)
                            asubkey = OpenKey(aKey, asubkey_name)
                            val = str(QueryValueEx(asubkey, "DisplayName"))
                            b = "!@#$,01'"
                            for char in b:
                                val = val.replace(char, "")
                            r = len(val)
                            val = str(val[1:r - …
Run Code Online (Sandbox Code Playgroud)

python winapi pywin32

2
推荐指数
1
解决办法
4784
查看次数

标签 统计

python ×1

pywin32 ×1

winapi ×1