GroupAdd


Fügt neue Kriterien zur Fensterwahl eine Gruppe hinzu, wobei diese gruppe nötigenfalls neu angelegt wird.

GroupAdd, GruppenName [, WinTitle, WinText, Label, ExcludeTitle, ExcludeText]

Parameter

GruppenName Der Name der Gruppe, zu der die Fenster Kriterien hinzugefügt werden. Sollte die Gruppe nicht existieren, wird diese angelegt. Gruppennamen sind nicht von Groß/Kleinschreibung abhängig.
WinTitle

Der vollständig oder teilweise angegebene Titel des Fenster. Kann ausgelassen werden. Zu Beachten: Obwohl die Kommandos SetTitleMatchMode und DetectHiddenWindows das Verhalten dieses Kommandos nicht direkt beeinflussen, wirken sie sich doch auf andere Kommandos wie GroupActivate und GroupClose aus. Sie beeinflussen auch die Benutzung des reservierten Wortes ahk_group in jedem anderem Kommando, das WinTitle benutzt.

Um eine Fenster-Class zu benutzen, sollte ahk_class ExakteFensterClassName (wie von Window Spy angezeigt) angegeben werden. Um einen process identifier (PID) zu verwenden, sollte man ahk_pid %VarMitPID% angeben.

Um die einzigartige ID Nummer (hWnd) zu verwenden, sollte ahk_id %VarMitFensterID% angegeben werden. Um eine bereits definierte Gruppe zu verwenden, sollte ahk_group GruppenName angegeben werden (will heißen Gruppen können anderen Gruppen enthalten).

Die Suche kann mit Angabe von mehrfachen Kriterien eingeschränkt werden. Zum Beispiel: Meine Datei.txt ahk_class Notepad

WinText So vorhanden enthält dieser Parameter einen Ausschnitt eines Textelementes des Zielfensters, so wie es mit dem enthaltenem Window Spy Programm angezeigt wird. Versteckte Text-Elemente werden erkannt, wenn DetectHiddenText auf ON gesetzt wurde. Bevor GroupActivate, GroupDeactivate und GroupClose genutzt wird.
Label Das Label einer Unterroutine, die abzuarbeiten ist, wenn kein Fenster den angegebenen Kriterien bei Aufruf des GroupActivate Kommandos entspricht. Das Label wird auf die gleiche Art angesprungen, als ob das Gosub Kommando benutzt wurde. Dieser Parameter kann aus- oder weggelassen werden.
ExcludeTitle Fenster, deren Titel diesen Wert beeinhalten, werden nicht berücksichtigt.
ExcludeText Fenster, deren Text diesen Wert beinhalten, werden nicht berücksichtigt.

Anmerkungen

Jede Benutzung dieses Kommandos fügt einer Gruppe eine neue Regel hinzu. Anders ausgedrückt ist eine Gruppe ein Regel/Filtersatz, denn eine Auflistung reeller Fenster. Benutzt man im weiteren Verlauf das Kommando GroupActivate, wird jedes auf dem Desktop existierende Fenster gegen jede in der Gruppe angegebenen Kriterien geprüft. So ein Fenster den einem der angegeben Kriterien entspricht, wird es als Treffer behandelt.

Gruppierungen werden typischerweise dazu verwendet um eine Ansammlung zueinander gehörender Fenster zusammen zu fassen. Sowas dann nützlich, wenn man mit mehreren zueinander gehörenden Fenster oder Programme mit vielen Unterfenstern arbeitet. Hat man zum Beispiel mehrere Instanzen eines Grafikprogramms oder eines Texteditors, kann man mit GroupActivate als Hotkey auf diese Art bequem jede Instanz des Programms anspringen, ohne mit Alt-Tab durch alle Programme zu zappen oder über die Taskbar Knöpfe zu nutzen, um die Programm zu finden.

Da die Einträge zu der Gruppe nur einmal gemacht werden müssen, wird dieses Kommando typischerweise in der Autoexecute Sektion (dem oberen Teil des Skripts) genutzt. Versuche Einträge mehrfach zu einer Gruppe anzufügen, werden ignoriert.

Alle Fenster in eine Gruppe zusammen zu fassen (außer das spezielle Program Manager Fenster), wird anhand des folgenden Beispiels demonstriert:

GroupAdd, AllWindows

Wenn man ahk_group MyGroupName als WinTitle parameter spezifiziert, können alle fensterbezogenen Kommandos damit arbeiten. Die Kommandos WinMinimize, WinMaximize, WinRestore, WinHide, WinShow, WinClose und WinKill beeinflussen alle mit den Gruppenkriterien erfassten Fenster. Wie mit nur dem jeweils obersten Fenster arbeiten kann, geht aus folgendem Beispiel hervor:

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

Entgegen den vorher genannten Befehlen, funktionieren andere Fensterbezogene Kommandos wie WinActivate und IfWinExist nur mit dem jeweils obersten Fenster der Gruppe.

Verwand mit

GroupActivate, GroupDeactivate, GroupClose

Beispiele

; In der Autoexecute SeKtion im oberen Teil des Skripts: 
; Füge nur Internet Explorer Fenster zu dieser Gruppe.
GroupAdd, MSIE, ahk_class IEFrame 
return ; Ende der Autoexecute Sektion.

; Jetzt fügen wir einen Hotkey zu der Gruppe hinzu, so dass
; man durch alle offenen MSIE Fenster zappen kann, (sprich: jeweils
; eines bei Aktivierung des Hotkeys).
Numpad1::GroupActivate, MSIE, r

; Hier wird eine komplexere Gruppe für das englischsparchige 
; MS Outlook 2002 definiert.
; In der Autoexecute Sektion im oberen Teil des Skripts: 
SetTitleMatchMode, 2 
; Für eMails, die gerade geschrieben werden 
GroupAdd, mail, Message - Microsoft Word 
; Für bereits geöffnete Elemente 
GroupAdd, mail, - Message ( 

; Braucht einen extra Text um das aktivieren eine 
; Phantom Fensters zu verhindern:
GroupAdd, mail, Advanced Find, Sear&ch for the word(s)
GroupAdd, mail, , Recurrence: 
GroupAdd, mail, Reminder 
GroupAdd, mail, - Microsoft Outlook 
return ; Ende der Autoexecute Sektion.

; Einen Hotkey um bei jedem Aktivieren durch alle Outlook 
; bezogenen Fenster zu zappen.
Numpad5::GroupActivate, mail