要获取当前电脑安装的软件,可以使用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”注册表路径下的软件。如果某些软件使用不同的注册表路径进行安装信息的存储,您可能需要进行额外的调整

autoit3 获取当前电脑安装的软件

原文地址: https://www.cveoy.top/t/topic/hOtJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录