ウィンドウの仕様をウィンドウグループに追加し、必要に応じてグループを作成します。
GroupAdd GroupName , WinTitle, WinText, ExcludeTitle, ExcludeText
型:文字列
このウィンドウ仕様を追加するグループの名前。グループが存在しない場合は、作成されます。グループ名の大文字と小文字は区別されません。
WinTitleには ウィンドウのタイトル、またはターゲットウィンドウを識別するための他の基準、WinTextにはターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。
ExcludeTitleとExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleとWinTextに似ていますが、ExcludeTitleはウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。
ウィンドウのタイトルとテキストは大文字と小文字を区別します。Although DetectHiddenWindows, DetectHiddenText and SetTitleMatchMode do not directly affect the behavior of this function, they do affect the other group functions such as GroupActivate and GroupClose. また、他の関数のWinTitleでahk_groupを使用する場合にも影響します。
この機能を使用するたびに、グループに新しいルールが追加されます。つまり、グループとは、ウィンドウの固定されたリストではなく、一連の基準で構成されているのです。その後、GroupActivateなどの機能でグループが使用されると、デスクトップ上の各ウィンドウがこれらの各条件に照合されます。ウィンドウがグループ内の条件のいずれかに一致する場合、一致とみなされます。
ウィンドウグループは、通常、関連するウィンドウの集合体を束ねるために使用されます。これは、多くの関連するウィンドウを含むタスクや、多くのサブウィンドウを所有するアプリケーションに便利です。例えば、グラフィックプログラムやテキストエディタの多くのインスタンスを頻繁に使用する場合、ホットキーのGroupActivateを使用すると、alt-tabやタスクバーボタンを使用してそれらのインスタンスを探すことなく、一度にそれぞれのプログラムのインスタンスを訪問できます。
各グループのエントリーは一度だけ追加する必要があるため、この機能は通常、スクリプトの起動時に使用されます。重複したエントリーをグループに追加しようとする試みは無視されます。
グループ内のすべてのウィンドウ(特別なProgram Managerウィンドウを除く)を含めるには、次の例を使用します:
GroupAdd "AllWindows"
WinTitleパラメータにahk_group MyGroupName
を指定することで、すべてのウィンドウ関数がウィンドウグループに対して操作できるようになります。WinMinimize、WinMaximize、WinRestore、WinHide、WinShow、WinClose、WinKill関数は、グループのすべてのウィンドウに対して作用します。その代わりに、一番上のウィンドウだけを操作する場合は、次のようにします:
WinHide WinExist("ahk_group MyGroup")
By contrast, other windowing functions such as WinActivate and WinExist will operate only upon the topmost window of the group.
GroupActivate、GroupDeactivate、GroupClose
ホットキーを押すと、開いているすべてのMSIEウィンドウを縦断することができます。
; グローバルコードで、起動時に評価される: GroupAdd "MSIE", "ahk_class IEFrame" ; Internet Explorerのウィンドウだけをこのグループに追加します。 ; このグループを起動するためのホットキーを割り当てます。 ; 開いているすべてのMSIEウィンドウを一度に1つずつ(つまり、それぞれのウィンドウに ; ホットキーの押下)。 Numpad1::GroupActivate "MSIE", "r"
ホットキーを押して、MS Outlook 2002の各ウィンドウを1つずつ訪問します。
; グローバルコードで、起動時に評価される: SetTitleMatchMode 2 GroupAdd "mail", "Message - Microsoft Word" ; これは現在作成中のメールのためのものです。 Groupadd "mail", "- Message (" ; これは既に開封されたものが対象です。 ; ファントムウィンドウの起動を避けるため、テキストを追加する必要がある: GroupAdd "mail", "Advanced Find", "Sear&ch for the word(s)" GroupAdd "mail", , "Recurrence:" GroupAdd "mail", "Reminder" GroupAdd "mail", "- Microsoft Outlook" ; Outlookの各ウィンドウを一度に訪問するためのホットキーを割り当てます。 Numpad5::GroupActivate "mail"