Fensterliste Winzählmirallesauf()

  • Hallo,
    mit WinActive kann ich herrausfinden ob ein bestimmtes Fenster geöffnet ist.Ich würde aber gerne eine Liste bekommen von allen Programmen die ein sichtbares Fenster haben. Also quasi herrausfinden wieviele und welche Fenster offen sind. Wie bekomme ich das hin, wenn ich erst garnicht weis was geöffnet ist, ohne eine Liste von 1000 Fensternamen abfragen zu müssen ?

    LG

  • So, das klappt nun wunderbar!
    Ich gebe die Fenster mit einer GUIList aus.
    Ich kann die einzelnen Punkte mit der Maus anklicken. Dann sind diese Markiert. Das ist schonmal gut.
    Wenn ich jetzt einen Button mache, auf den ich klicke. würde ich gerne eine msgbox ausgeben in welcher steht was für ein Listenpunkt markiert ist. Wie kann ich diese Information aus der Liste entnehmen ?

    LG

  • Vermute mal du meinst eine ListBox. Das geht dann damit: _GUICtrlListBox_GetCurSel

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Und wenn List dann so:

    Spoiler anzeigen
    [autoit]

    Global $a_Win, $h_GUI, $h_List, $h_Button
    $a_Win = WinList()
    $h_GUI = GUICreate('', 400, 300)
    $h_List = GUICtrlCreateList('', 10, 10, 380, 260)
    $h_Button = GUICtrlCreateButton('Mir fällt keine Bezeichnung ein', 10, 270, 380, 20)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To $a_Win[0][0]
    If BitAnd(WinGetState($a_Win[$i][1]), 2) And $a_Win[$i][0] <> '' Then
    GUICtrlSetData($h_List, $a_Win[$i][0] & '|')
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW, $h_GUI)

    [/autoit] [autoit][/autoit] [autoit]

    While True
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $h_Button
    MsgBox(0, '', GUICtrlRead($h_List))
    EndSwitch
    WEnd

    [/autoit]