Aktiviert ein bestimmtes Fenster.
WinActivate , FensterTitel, FensterText, IgnoriereTitel, IgnoriereText
Der Titel oder andere Möglichkeiten zum Identifizieren des Zielfensters. Weitere Informationen finden Sie unter FensterTitel-Parameter.
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.
Alle Fenster, die diesen Wert in ihren Titeln enthalten, werden ignoriert.
Alle Fenster, die diesen Wert in ihren Textelementen enthalten, werden ignoriert.
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 weggelassen werden, wird das aktive Fenster wiederhergestellt. [v1.1.28.02+]: Das Fenster wird auch wiederhergestellt, wenn es bereits aktiv war.
Es werden sechs Versuche innerhalb von 60 ms unternommen, um das Zielfenster zu aktivieren. Wenn alle sechs Versuche fehlschlagen, sendet WinActivate automatisch {Alt 2}
als Workaround für mögliche Einschränkungen, die durch das Betriebssystem erzwungen werden, und unternimmt dann einen siebten Versuch. Daher ist es üblicherweise nicht notwendig, nach WinActivate WinWaitActive, WinActive() 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 sind Groß-/Kleinschreibung-sensitiv. 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
WinActivateBottom, #WinActivateForce, SetTitleMatchMode, DetectHiddenWindows, Zuletzt Gefundenes Fenster, WinExist(), WinActive(), WinWaitActive, WinWait, WinWaitClose, WinClose, GroupActivate, WinSet