JohnRichard Try this: #include <Array.au3> ;Only for array displaying
Local $strComputer, $strInput
$strComputer = (InputBox("List software","Enter COMPUTER NAME to query list of installed programs."))
If $strComputer = '' Then
$strComputer = "\\" & @ComputerName & "\" ;current computer
Else
$strComputer = "\\" & $strComputer & "\"
EndIf
$return = _SoftwareInfo($strComputer)
_ArrayDisplay($return, "Installed Programs")
Func _SoftwareInfo($computer = $strComputer)
Local Const $regkey = $computer & 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
Local $key, $Count = 0, $avArray[1]
While 1
$Count = $Count + 1
$key = RegEnumKey($regkey, $Count)
If @error Then ExitLoop
$line = RegRead($regkey & '\' & $key, 'Displayname')
If @error Then ContinueLoop
$line = StringReplace($line, ' (remove only)', '')
$avArray[0] += 1
ReDim $avArray[$avArray[0] + 1]
$avArray[$avArray[0]] = $line
WEnd
Return $avArray
EndFunc