WinGetControls

指定されたウィンドウ内のすべてのコントロールの名前(ClassNN)の配列を返します。

ClassNNs := WinGetControls(WinTitle, WinText, ExcludeTitle, ExcludeText)

パラメータ

WinTitle, WinText, ExcludeTitle, ExcludeText

型:文字列整数またはオブジェクト

もしこれらの項目が未設定または省略されたときは、最後に見つかったウィンドウが使用されます。そうでないときは、WinTitleウィンドウタイトルまたはターゲットウィンドウを識別するための他の基準、および/またはWinTextにターゲットウィンドウの単一のテキスト要素からの部分文字列(付属のWindow Spyユーティリティを使えばわかります)を指定します。

ExcludeTitleExcludeTextはウィンドウのタイトルまたはテキストで除外するために使用します。指定の仕方はWinTitleWinTextに似ていますが、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関数で取得できます。

WinGetControlsHwndWin関数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."
}