GroupAdd

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

GroupAdd, Gruppenname , Fenstertitel, Fenstertext, Label, Titelausnahme, Textausnahme

Parameter

Gruppenname

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.

Titelausnahme

Ignoriert Fenster, deren Titel diesen Wert enthalten.

Textausnahme

Ignoriert Fenster, deren Textelemente diesen Wert enthalten.

Bemerkungen

Jedes Mal, wenn Sie diesen Befehl verwenden, wird eine neue Regel zur Gruppe hinzugefügt. Das heißt, dass eine Gruppe nicht eine feste Liste von Fenstern, sondern eine Reihe von Kriterien ist. 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, definiert man diesen Befehl üblicherweise im automatischen Ausführungsbereich (das ist der oberste Bereich des Skripts). 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

Damit ein fensterspezifischer Befehl mit einer Fenstergruppe agieren kann, muss ahk_group NameMeinerGruppe im Fenstertitel-Parameter angegeben werden. Die Befehle WinMinimize, WinMaximize, WinRestore, WinHide, WinShow, WinClose und WinKill agieren mit allen Fenstern einer Gruppe. Um stattdessen nur mit dem obersten Fenster zu interagieren, nutzt man folgende Vorgehensweise:

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

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

Siehe auch

GroupActivate, GroupDeactivate, GroupClose

Beispiele

; Im automatischen Ausführungsbereich (oberster Bereich 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

; Hier ist eine komplexere Gruppe für MS Outlook 2002.
; Im automatischen Ausführungsbereich (oberster Bereich 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.


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