GroupAdd

Fügt eine Fensterspezifikation zu einer Fenstergruppe hinzu, und erstellt die Gruppe, falls erforderlich.

GroupAdd, GruppeName , FensterTitel, FensterText, Label, IgnoriereTitel, IgnoriereText

Parameter

GruppeName

Name der Gruppe, zu der diese Fensterspezifikation hinzugefügt werden soll. Falls die Gruppe nicht existiert, wird sie erstellt. Gruppennamen sind nicht Groß-/Kleinschreibung-sensitiv.

FensterTitel

Der Titel oder andere Möglichkeiten zum Identifizieren des Zielfensters. Weitere Informationen finden Sie unter FensterTitel-Parameter.

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, während GroupActivate, GroupDeactivate und GroupClose verwendet werden.

Label

Label einer Subroutine, die ausgeführt werden soll, wenn beim Verwenden des GroupActivate-Befehls keine Fenster vorhanden sind, die dieser Gruppe (oder dieser Fensterspezifikation vor AHK_L 54) entsprechen. Das Label wird angesprungen, als hätte man Gosub verwendet. Dieser Parameter kann leer- oder weggelassen werden.

IgnoriereTitel

Alle Fenster, die diesen Wert in ihren Titeln enthalten, werden ignoriert.

IgnoriereText

Alle Fenster, die diesen Wert in ihren Textelementen enthalten, werden ignoriert.

Bemerkungen

Jedes Mal, wenn Sie diesen Befehl verwenden, wird eine neue Regel zur Gruppe hinzugefügt. Mit anderen Worten: Eine Gruppe besteht aus einer Reihe von Kriterien, nicht aus einer festen Liste von Fenstern. Greift man später mit Befehlen wie GroupActivate auf eine Gruppe zu, wird jedes Fenster auf dem Desktop mit den Kriterien verglichen. Stimmt ein Fenster mit einem der Kriterien aus der Gruppe überein, gilt das Fenster als gefunden.

Obwohl SetTitleMatchMode und DetectHiddenWindows das Verhalten dieses Befehls nicht direkt beeinflussen können, beeinflussen sie andere Gruppenbefehle wie GroupActivate und GroupClose. Sie haben auch Einfluss auf ahk_group, das in den FensterTitel-Parametern von anderen Befehlen genutzt werden kann.

Eine Fenstergruppe wird üblicherweise verwendet, um mehrere zusammenhängende Fenster zu vereinen, die zu einer Aufgabe gehören oder untergeordnete Fenster einer Anwendung sind. Wenn Sie beispielsweise häufig mit vielen Instanzen eines Grafikprogramms oder eines Texteditors arbeiten, können Sie einen Hotkey mit GroupActivate nutzen, um alle Instanzen dieses Programms einzeln durchzugehen, ohne dass Alt-Tab-Aktionen oder Taskleistenschaltflächen zum Lokalisieren einer Instanz notwendig sind.

Da die Einträge in jeder Gruppe nur einmal hinzugefügt werden müssen, wird dieser Befehl üblicherweise im automatischen Ausführungsbereich (ganz oben im Skript) verwendet. Jegliche Versuche, doppelte Einträge zu einer Gruppe hinzuzufügen, werden ignoriert.

Um alle Fenster in eine Gruppe aufzunehmen (außer dem speziellen Programm-Manager-Fenster), ist folgendes Beispiel hilfreich:

GroupAdd, AllWindows

Alle fensterspezifischen Befehle können eine Fenstergruppe verwenden, indem man ahk_group MeineGruppeName für den FensterTitel-Parameter angibt. Die Befehle WinMinimize, WinMaximize, WinRestore, WinHide, WinShow, WinClose und WinKill werden mit allen Fenstern der Gruppe agieren. Soll stattdessen nur das oberste Fenster angesprochen werden, folgen Sie diesem Beispiel:

WinHide % "ahk_id " . WinExist("ahk_group MeineGruppe")

Andere Fensterbefehle wie WinActivate, WinExist() und IfWinExist agieren hingegen nur mit dem obersten Fenster einer Gruppe.

GroupActivate, GroupDeactivate, GroupClose

Beispiele

Drücken Sie einen Hotkey, um alle geöffneten MSIE-Fenster durchzugehen.

; Im automatischen Ausführungsbereich am Anfang des Skripts:
GroupAdd, MSIE, ahk_class IEFrame ; Fügt nur den Internet Explorer zur Gruppe hinzu.
return ; Ende des automatischen Ausführungsbereichs.

; Weist einen Hotkey zum Aktivieren dieser Gruppe hinzu,
; der alle offenen MSIE-Fenster einzeln durchgeht
; (d. h. wenn jedes Mal der Hotkey gedrückt wird).
Numpad1::GroupActivate, MSIE, r

Drücken Sie einen Hotkey, um alle MS-Outlook-2002-Fenster einzeln durchzugehen.

; Im automatischen Ausführungsbereich am Anfang des Skripts:
SetTitleMatchMode, 2 
GroupAdd, mail, Nachricht - Microsoft Word ; Für E-Mails, die gerade entworfen werden
GroupAdd, mail, - Nachricht ( ; Für bereits offene E-Mails 
; Benötigt zusätzlichen Text, um das Aktivieren eines Phantom-Fensters zu verhindern:
GroupAdd, mail, Erweiterte Suche, Dur&chsuchen...
GroupAdd, mail, , Recurrence: 
GroupAdd, mail, Erinnerungsfenster 
GroupAdd, mail, - Microsoft Outlook 
return  ; Ende des automatischen Ausführungsbereichs.

; Weist einen Hotkey zu, um jedes Outlook-Fenster einzeln zu besuchen.
Numpad5::GroupActivate, mail