WinActivate

Aktiviert ein bestimmtes Fenster.

WinActivate , Fenstertitel, Fenstertext, Titelausnahme, Textausnahme

Parameter

Fenstertitel

Der Titel oder andere Möglichkeiten zum Identifizieren des Zielfensters. Weitere Informationen finden Sie auf der Seite Fenstertitel-Parameter & Zuletzt Gefundenes Fenster.

Fenstertext

Eine Zeichenkette, die in einem der Textelemente des Zielfensters enthalten ist (eventuell vorhandene Textelemente können mit dem internen Tool Window Spy aufgedeckt werden). Versteckte Textelemente werden nur erkannt, wenn DetectHiddenText eingeschaltet ist.

Titelausnahme

Ignoriert Fenster, deren Titel diesen Wert enthalten.

Textausnahme

Ignoriert Fenster, deren Textelemente diesen Wert enthalten.

Bemerkungen

Wenn ein inaktives Fenster aktiv wird, wird es vom Betriebssystem in den Vordergrund gesetzt (setzt es an den Anfang des Stapels). Dies geschieht nicht, wenn das Fenster bereits aktiv ist.

Wenn das Fenster minimiert und inaktiv ist, wird es vor der Aktivierung automatisch wiederhergestellt. [v1.1.20+]: Wenn Fenstertitel der Buchstabe "A" ist und die anderen Parameter nicht vorhanden sind, wird das aktive Fenster wiederhergestellt. [v1.1.28.02+]: Das Fenster wird auch wiederhergestellt, wenn es bereits aktiv war.

Es werden 6 Versuche innerhalb von 60 ms unternommen, um das Zielfenster zu aktivieren. Daher ist es üblicherweise nicht notwendig, nach WinActivate WinWaitActive oder IfWinNotActive auszuführen.

Wenn mehr als ein Fenster übereinstimmt, wird in der Regel das oberste übereinstimmende Fenster (typischerweise das zuletzt verwendete) aktiviert. Wenn das Fenster bereits aktiv ist, bleibt es aktiv, anstatt ein anderes übereinstimmendes Fenster darunter zu aktivieren. Wenn das aktive Fenster jedoch mit WinSet Bottom an das Ende des Stapels verschoben wird, kann auch ein anderes Fenster aktiviert werden, sofern das aktive Fenster übereinstimmt.

WinActivateBottom aktiviert das unterste übereinstimmende Fenster (typischerweise das am wenigsten verwendete).

GroupActivate aktiviert das nächste Fenster, das den Kriterien einer Fenstergruppe entspricht.

[v1.1.20+]: Wenn das aktive Fenster versteckt und DetectHiddenWindows ausgeschaltet ist, erfolgt nie eine Übereinstimmung. Stattdessen wird ein sichtbares passendes Fenster aktiviert, sofern so eins existiert.

Wenn ein Fenster unmittelbar nach Aktivieren eines anderen Fensters aktiviert wird, kann es je nach Betriebssystem und Einstellungen vorkommen, dass die Taskleistenschaltflächen anfangen zu blinken. Mit #WinActivateForce kann das verhindert werden.

Fenstertitel und -texte unterscheiden zwischen Groß- und Kleinschreibung. Versteckte Fenster werden nur erkannt, wenn DetectHiddenWindows eingeschaltet ist.

Bekanntes Problem: Läuft das Skript auf einem Computer oder Server, den man via Remote-Desktop ansteuert, kann WinActivate einen Hänger verursachen, wenn der Remote-Desktop-Client minimiert ist. Eine Übergangslösung ist es, Befehle zu verwenden, die keine Fensteraktivierung benötigen, wie z. B ControlSend und ControlClick. Eine weitere Übergangslösung ist es, die folgende Registry-Einstellung auf dem lokalen Computer des Clienten anzuwenden:

; Ändern Sie HKCU zu HKLM, um alle Benutzer auf diesem System einzubeziehen.
RegWrite REG_DWORD, HKCU, Software\Microsoft\Terminal Server Client
    , RemoteDesktop_SuppressWhenMinimized, 2

Siehe auch

WinActivateBottom, #WinActivateForce, SetTitleMatchMode, DetectHiddenWindows, Zuletzt Gefundenes Fenster, IfWinExist, IfWinActive, WinWaitActive, WinWait, WinWaitClose, WinClose, GroupActivate, WinSet

Beispiel

IfWinExist, Unbenannt - Editor
    WinActivate ; zuletzt gefundenes Fenster verwenden
else
    WinActivate, Rechner