Pobier mal das hier...
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstants.au3>
$gui_width = 500
$gui_height = 600
Global $count = 1, $all_keys = "", $abort = 0
Global $main_key = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
Global $main_key64 = "HKLM64\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
Global $key = $main_key
GUICreate("Installed Software", $gui_width, $gui_height, @Desktopwidth/2 - $gui_width/2, @DesktopHeight/2 - $gui_height/2 - 75)
$gui_list = GUICtrlCreateList ("", 10, 10, $gui_width - 20, $gui_height - 20)
GUISetState ()
$foundItems = 0
do
$act_key = RegEnumKey ($key, $count)
If @error <> 0 then
$abort += 1
$count = 1
$key = $main_key64
Else
$count = $count + 1
$act_name = RegRead ($key & '\' & $act_key, "Displayname")
$act_name = StringReplace ($act_name, " (remove only)", "")
if stringinstr($act_name,"Security Update") then continueloop
if stringinstr($act_name,"Update for Microsoft") then continueloop
if stringinstr($act_name,"Hotfix für") then continueloop
if stringinstr($act_name,"Hotfix for") then continueloop
if stringinstr($act_name,"Service Pack") then continueloop
If $act_name <> "" And Not StringInStr($all_keys,"|" & $act_name & "|") Then
$dontShow = RegRead($key & '\' & $act_key, "SystemComponent")
ConsoleWrite( $dontShow & @TAB & $act_name & @CRLF)
If $dontShow = 1 Then ContinueLoop
$all_keys = $all_keys & $act_name & "|"
$foundItems += 1
EndIf
EndIf
until $abort = 2
ConsoleWrite ("Einträge: " & $foundItems & @CRLF)
GUICtrlSetData ($gui_list, $all_keys)
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend