letztes Fenster aktivieren

  • Hallo Freunde der automatisierten Schritte,

    unter Windows kann man mit Alt Tab zurück zum letzten Fenster gelangen.

    Wie kann ich mit Autoit (ohne alt tab) das letzte aktive Fenster abfragen, um dieses zu aktivieren bzw. in einer Liste zu speichern?

    In den Untiefen des Forums lass ich was von:

    WinActivate("- Limit")
    ... das gibt aber 0 = Fehler laut Hilfe zurück

    Viele Grüße
    AutoMit

  • Das klingt sehr gut - hast Du dafür ein Beispiel?

    Unter der Forums-Hilfe fand ich nichts zu der Funktion. (Google deutsch = 4 Treffer - auch nichts)
    Forums-Suche zu dieser Funktion = 1 Treffer - mein Beitrag :)

    APIs in Autoit sind für mich Neuland.

    Gibt es hier im Forum einen empfehlenswerten Beitrag, der einen guten Einstieg bietet?

    ich weiß nicht warum, aber bei mir funktioniert die Suche im Forum nicht so ganz. Ich kann auch nicht in der erweiterten Suche trotz gesetzten Haken die Suche auf den Beitragstitel beschränken.

    • Offizieller Beitrag

    hast Du dafür ein Beispiel?

    Das steht doch direkt in der Hilfe bei der Parameterbeschreibung, wie du das zu nutzen hast.


    _WinAPI_GetTopWindow ( $hWnd )


    $hWnd Handle to the parent window whose child windows are to be examined. If this parameter is 0, the function
    returns a handle to the window at the top of the Z order.
  • @BugFix - es wäre wirklich super, wenn Du Deine deutschsprachige Hilfe zur Verfügung stellen könntest. Bei mir gibt es keinen Eintrag:

    _WinAPI_GetTopWindow

    Ich nutze folgende Version:

    v3.3.8.1
    (Stand der Übersetzung der Hilfe ins Deutsche: 23.12.2013)

    Wie Andy in dem anderen Beitrag schrieb: "Die deutsche Hilfe wurde nicht umsonst mit viel Arbeit und Mühe erstellt..." ... wahrscheinlich habe ich eine veraltete deutsche Hilfe und finde daher die nicht diese Funktion.

    • Offizieller Beitrag

    wenn Du Deine deutschsprachige Hilfe zur Verfügung stellen könntest.

    Ich nutze keine deutschsprachige Hilfe.
    v3.3.8.1 ist gewissermassen Vorkriegstechnik. Wir gehen schon davon aus, dass die aktuelle (od. zumindest vorletze Version) der Stable in Benutzung ist. Aktuell ist das die v3.3.14.0.
    Wenn du (warum auch immer) eine ältere Version nutzt, solltest du das bereits im Eröffnungsthread angeben. Sonst bekommst du unter anderem Lösungen, die den ternären Operator enthalten, der in deiner Version noch gar nicht existiert. Verschiedene Funktionen, wie soeben gehabt, dito.

  • Danke für den Tipp.

    Mein Englisch ist grottenschlecht - ich versuche es mal mit der englischen Hilfe.

    (1) _WinAPI_GetTopWindow

    #include <WinAPISys.au3>
    _WinAPI_GetTopWindow ( $hWnd )


    If this parameter is 0, the function
    returns a handle to the window at the
    top of the Z order.

    demnach müste doch

    ClipPut(_WinAPI_GetTopWindow (0))

    das letzte Topfenster in die Zwischenablage legen.

    Ich erhalte immer:
    0x0000000000010630

    gleich Fenstertitel
    MSCTFIME UI

    Obwohl ich mehrfach das Fenster gewechselt habe.

    #include <WinAPISys.au3>
    Sleep (5000) ; Topfenster per Hand wechseln
    ClipPut(_WinAPI_GetTopWindow (0))

    (2) _WinAPI_GetWindow ( $hWnd, $iCmd )

    _WinAPI_GetWindow ( 0, $iCmd )
    (0 = siehe oben)

    $iCmd - hier scheitere ich mit meinen Englischkenntnissen. Welches $iCmd steht für "einfach das vorletzte Vordergrundfenster, welches man auch in der alt+tab-Liste sieht)

    3 Mal editiert, zuletzt von AutoMit (29. Januar 2016 um 15:01)