我使用寄存器中的搜索和 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)