autoit3 获取当前电脑安装的软件
要获取当前电脑安装的软件,可以使用AutoIt的RegRead函数来读取Windows注册表中的安装信息。以下是一个示例代码,可以获取当前电脑上安装的所有软件的名称和版本号:
#include <Array.au3>
Local $aSoftwareList = _GetInstalledSoftware()
If @error Then
MsgBox(16, "Error", "Failed to get the list of installed software.")
Exit
EndIf
_ArrayDisplay($aSoftwareList, "Installed Software")
Func _GetInstalledSoftware()
Local $aSoftwareList[1][2] = [[0]]
Local $sUninstallKey = "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall"
Local $sSubKey, $sDisplayName, $sDisplayVersion
For $i = 1 To 1000
$sSubKey = RegEnumKey($sUninstallKey, $i)
If @error Then ExitLoop
$sDisplayName = RegRead($sUninstallKey & "\" & $sSubKey, "DisplayName")
$sDisplayVersion = RegRead($sUninstallKey & "\" & $sSubKey, "DisplayVersion")
If $sDisplayName <> "" Then
ReDim $aSoftwareList[$i + 1][2]
$aSoftwareList[$i][0] = $sDisplayName
$aSoftwareList[$i][1] = $sDisplayVersion
$aSoftwareList[0][0] = $i
EndIf
Next
Return $aSoftwareList
EndFunc
此代码将使用RegEnumKey函数遍历注册表中的卸载项,并使用RegRead函数读取每个卸载项的DisplayName和DisplayVersion值。然后,它将这些值存储在二维数组$aSoftwareList中,并使用_ArrayDisplay函数将其显示在一个表格中。
请注意,此代码只能获取安装在“HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall”注册表路径下的软件。如果某些软件使用不同的注册表路径进行安装信息的存储,您可能需要进行额外的调整
原文地址: https://www.cveoy.top/t/topic/hOtJ 著作权归作者所有。请勿转载和采集!