GroupAdd

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

GroupAdd, GruppeName , FensterTitel, FensterText, Label, AusnahmeTitel, AusnahmeText

Parameter

GruppeName

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

FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Geben Sie für FensterTitel einen Fenstertitel oder andere Kriterien zur Identifizierung des Zielfensters und/oder für FensterText eine Teilzeichenkette aus einem Textelement des Zielfensters an (Textelemente können mit dem internen Tool "Window Spy" in Erfahrung gebracht werden).

AusnahmeTitel und AusnahmeText können verwendet werden, um ein oder mehrere Fenster anhand ihres Titels oder Textes auszuschließen. Ihre Angabe ähnelt der von FensterTitel und FensterText, außer dass AusnahmeTitel keine anderen Kriterien als den Fenstertitel erkennt.

Fenstertitel und -texte sind Groß-/Kleinschreibung-sensitiv. Obwohl DetectHiddenWindows, DetectHiddenText und SetTitleMatchMode das Verhalten dieses Befehls nicht direkt beeinflussen, beeinflussen sie die anderen Gruppenbefehle wie GroupActivate und GroupClose. Diese haben auch Einfluss auf die Verwendung von ahk_group im FensterTitel-Parameter eines anderen Befehls.

Label

Wenn leer oder weggelassen, wird kein Label verwendet. Andernfalls geben Sie das Label einer Subroutine an, die ausgeführt werden soll, wenn bei Verwendung des GroupActivate-Befehls keine Fenster gefunden werden, die dieser Gruppe (oder dieser Fensterspezifikation vor AHK_L 54) entsprechen. Es wird zum Label gesprungen, als hätte man Gosub verwendet.

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. Wenn Sie später mit Befehlen wie GroupActivate eine Gruppe verwenden, 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.

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 z.B. häufig mit vielen Instanzen eines Grafikprogramms oder eines Texteditors arbeiten, können Sie einen Hotkey mit GroupActivate verwenden, um alle Instanzen dieses Programms nacheinander durchzugehen, ohne dass Alt-Tab-Aktionen oder Taskleistenschaltflächen zum Auffinden 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 zu einer Gruppe hinzuzufügen (außer dem speziellen Programm-Manager-Fenster), verwenden Sie folgendes:

GroupAdd, AllWindows

Alle fensterspezifischen Befehle ermöglichen die Verwendung einer Fenstergruppe durch Angabe von ahk_group MeineGruppeName im FensterTitel-Parameter. Die Befehle WinMinimize, WinMaximize, WinRestore, WinHide, WinShow, WinClose und WinKill arbeiten mit allen Fenstern der Gruppe. Um stattdessen nur mit dem obersten Fenster zu arbeiten, gehen Sie wie folgt vor:

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

Andere fensterspezifische Befehle wie WinActivate, WinExist() und IfWinExist arbeiten hingegen nur mit dem obersten Fenster der 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 Internet-Explorer-Fenster zur Gruppe hinzu.
return ; Ende des automatischen Ausführungsbereichs.

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

Drücken Sie einen Hotkey, um alle MS-Outlook-2002-Fenster nacheinander 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 geöffnete E-Mails 
; Benötigt zusätzlichen Text, um die Aktivierung eines Phantomfensters 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 nacheinander zu besuchen.
Numpad5::GroupActivate, mail