指定されたウィンドウ内のすべてのコントロールの名前(ClassNN)の配列を返します。
ClassNNs := WinGetControls(WinTitle, WinText, ExcludeTitle, ExcludeText)
もしこれらの項目が未設定または省略されたときは、最後に見つかったウィンドウが使用されます。そうでないときは、WinTitleに ウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準、および/またはWinTextにターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。
ExcludeTitleとExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleとWinTextに似ていますが、ExcludeTitleはウィンドウのタイトル以外の基準(ウィンドウクラスやHWNDなど)を認識しません。
ウィンドウのタイトルとテキストは大文字と小文字を区別します。DetectHiddenWindows関数とDetectHiddenText関数で変更しない限り、初期設定では非表示ウィンドウは検出されず、非表示テキストは検出されます。ただし、pure HWNDsを使ったときは、DetectHiddenWindowsの設定にかかわらず、非表示ウィンドウは常に検出されます。SetTitleMatchModeで変更しない限り、初期設定ではウィンドウタイトルのどこかにWinTitleまたはExcludeTitleを含んでいればマッチします。
型:配列
この関数は、指定されたウィンドウの全てのコントロールの名前の配列を返します。名前は、コントロールのクラス名とその直後にWindow Spy で示されるシーケンス番号 (ClassNN) が続く形構成されています。
例えば、戻り値がClassNNsという変数に代入され、2つのコントロールが存在する場合、ClassNNs[1]には1つ目のコントロールの名前、ClassNNs[2]には2つ目のコントロールの名前が格納され、ClassNNs.Lengthは、数値2を返す。
コントロールはZオーダーに従ってソートされ、ウィンドウがタブ機能をサポートしているときは、通常、Tabによるナビゲーションの順番と同じ順番になります。
ウィンドウが見つからないときは、TargetErrorがスローされます。
まsマウスカーソルの下にあるウィンドウまたはコントロールのIDは、MouseGetPos関数で取得できます。
WinGetControlsHwnd、Win関数、Control関数
アクティブウィンドウのコントロールリストから個々のコントロール名を抽出する。
for n, ctrl in WinGetControls("A")
{
Result := MsgBox("Control #" n " is '" ctrl "'. Continue?",, 4)
if (Result = "No")
break
}
アクティブウィンドウのコントロールリストをリアルタイムで表示する。
SetTimer WatchActiveWindow, 200
WatchActiveWindow()
{
try
{
Controls := WinGetControls("A")
ControlList := ""
for ClassNN in Controls
ControlList .= ClassNN . "`n"
if (ControlList = "")
ToolTip "The active window has no controls."
else
ToolTip ControlList
}
catch TargetError
ToolTip "No visible window is active."
}