指定された条件に合致する全てのウィンドウのID番号(HWND)の配列を返します。。
HWNDs := WinGetList(WinTitle, WinText, ExcludeTitle, ExcludeText)
それぞれを空白または省略すると、システム全体のすべてのウィンドウが検索されます。そうでないときは、WinTitleに ウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準、および/またはWinTextにターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。
ExcludeTitleとExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleとWinTextに似ていますが、ExcludeTitleはウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。
ウィンドウのタイトルとテキストは大文字と小文字を区別します。DetectHiddenWindows関数とDetectHiddenText関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。ただし、pure HWNDsを使ったときは、DetectHiddenWindowsの設定にかかわらず、非表示ウィンドウは常に検出されます。SetTitleMatchModeで変更しない限り、初期設定ではウィンドウタイトルのどこかにWinTitleまたはExcludeTitleを含んでいればマッチします。
型:配列
この関数は、指定された条件に合致するすべてのウィンドウのID番号の配列を返します。それぞれの数字はウィンドウ・ハンドル(HWND)である。マッチするウィンドウがない場合は、空の配列が返される。
例えば、戻り値がHWNDsという変数に代入され、2つのマッチするウィンドウが見つかったときは、HWNDs[1]は最初のウィンドウのIDを格納し、HWNDs[2]は2番目のウィンドウのIDを格納します。HWNDs.Lengthは数値2を返します。
ウィンドウは、(デスクトップ上の積み重ね方に従って)最上位から最下位へと順番に検索される。
マウスカーソルの下にあるウィンドウのIDは、MouseGetPos関数で取得できます。
システム全体のすべてのウィンドウを訪問し、それぞれのウィンドウに関する情報を表示する。
ids := WinGetList(,, "Program Manager")
for this_id in ids
{
WinActivate this_id
this_class := WinGetClass(this_id)
this_title := WinGetTitle(this_id)
Result := MsgBox(
(
"Visiting All Windows
" A_Index " of " ids.Length "
ahk_id " this_id "
ahk_class " this_class "
" this_title "
Continue?"
),, 4)
if (Result = "No")
break
}