ControlGetHandle mit unterschiedlichen "Window Title"

  • Hallo,
    ich habe folgendes Problem.

    [autoit]

    While True
    $hListView = ControlGetHandle("", "", "WindowsForms10.SysListView32.app.0.33c0d9d1")
    $aText = _GUICtrlListView_GetItemTextArray($hListView, _GUICtrlListView_GetItemCount($hListView) - 1)
    _ArrayDisplay($aText)

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

    WEnd

    [/autoit]


    Der Window Title verändert sich ständig (1%.....100%) (wenn ich den Title frei lasse also "" funzt es nicht)
    Wie kann ich das Problem mit den veränderbaren Fenster-Title lösen?

    Danke!

    Gruß
    Sonyman

    Einmal editiert, zuletzt von sonyman (18. Juli 2010 um 21:15)

  • Versuch mal mit CLASS: zu arbeiten. Einfach mit Window-Help-Tool die Klasse von dem Programm herausfinden (bzw. versuchen.) dann:

    [autoit]

    $hListView = ControlGetHandle("[CLASS:Notepad]", "", "WindowsForms10.SysListView32.app.0.33c0d9d1") ;Das mit Notepad ist ein beispiel mach einfach die klasse die du herausgefunden hast

    [/autoit]
  • Danke für die schnelle Antwort.
    Ich habe die "Class" eingefügt wie folgt:

    [autoit]

    While True
    $hListView = ControlGetHandle("WindowsForms10.Window.8.app.0.33c0d9d", "", "WindowsForms10.SysListView32.app.0.33c0d9d1")
    $aText = _GUICtrlListView_GetItemTextArray($hListView, _GUICtrlListView_GetItemCount($hListView) - 1)
    _ArrayDisplay($aText)

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

    WEnd

    [/autoit]

    Leider funzt es nicht.

    Gibt es noch eine andere Möglichkeit?

    Danke!

    Sonyman

    Spoiler anzeigen

    >>>> Window <<<<
    Title: 81% Burning to media - [Disc]
    Class: WindowsForms10.Window.8.app.0.33c0d9d
    Position: 667, 415
    Size: 585, 362
    Style: 0x16CA0000
    ExStyle: 0x00050101
    Handle: 0x002202E0

    >>>> Control <<<<
    Class: WindowsForms10.SysListView32.app.0.33c0d9d
    Instance: 1
    ClassnameNN: WindowsForms10.SysListView32.app.0.33c0d9d1
    ID: 983934
    Text:
    Position: 20, 126
    Size: 540, 156
    ControlClick Coords: 407, 121
    Style: 0x56018141
    ExStyle: 0x00000200
    Handle: 0x000F037E

    >>>> Mouse <<<<
    Position: 1097, 691
    Cursor ID: 2
    Color: 0xFFFFFF

  • Ich würde spontan Opt("WinTitleMatchMode", 2) setzen und als Titel nur "%" angeben.


    Danke!

    Gruß
    Sonyman

    Einmal editiert, zuletzt von sonyman (18. Juli 2010 um 21:15)

  • Wenn dich die Option an anderer Stelle des Skripts nicht stört, dann schreib es an den Anfang.
    Die 2 als Parameter bewirkt, das nicht nach dem vollständigen Fenstertitel gesucht wird. Mehr zu den Optionen in der Hilfe.
    Du könntest es auch noch etwas genauer machen und die erweiterte Fensterbeschreibung REGEXPTITLE verwenden.
    Infos dazu ebenfalls in der Hilfe unter Allgemeines zu Autoit -> Fenster-Titel und -Text (erweitert)

  • Danke für Eure Hilfe.
    mit Opt("WinTitleMatchMode", 2) funzt es Super !!

    Danke!

    Gruß
    Sonyman