<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1632085368384154" crossorigin="anonymous"></script><script src="https://autohotkey.top/gtag.js"></script></head> <body> <h1>WinGetControls</h1> <p>返回指定窗口中所有控件的名称.</p> <pre class="Syntax">Controls := <span class="func">WinGetControls</span>(<span class="optional">WinTitle, WinText, ExcludeTitle, ExcludeText</span>)</pre> <h2 id="Parameters">参数</h2> <dl> <dt>WinTitle, WinText, ExcludeTitle, ExcludeText</dt> <dd> <p>类型: <a href="../Concepts.htm#strings">字符串</a>, <a href="../Concepts.htm#numbers">整数</a>或<a href="../Objects.htm">对象</a></p> <p>如果这些都未设置或省略, 将使用<a href="../misc/WinTitle.htm#LastFoundWindow">上次找到的窗口</a>. 否则, 为 <em>WinTitle</em> 指定<a href="../misc/WinTitle.htm">窗口标题或其他条件</a>, 来标识目标窗口, 和/或为 <em>WinText</em> 指定目标窗口的单个文本元素的子字符串(由包含的 Window Spy 实用程序显示). 如果 <a href="DetectHiddenText.htm">DetectHiddenText</a> 已经打开, 则检测隐藏文本元素. 标题或文本包含 <em>ExcludeTitle</em> 或 <em>ExcludeText</em> 的窗口将不被考虑.</p> </dd> </dl> <h2 id="Return_Value">返回值</h2> <p>类型: <a href="../Concepts.htm#objects">数组</a></p> <p>此函数返回一个包含指定窗口中所有控件的名称的数组. 每个控件名称由它的类名紧跟着它的序号(ClassNN), 如 Window Spy 所示.</p> <p>例如, 如果将返回值赋值给名为 <code>Controls</code> 的变量, 并且存在两个控件, 则 <code>Controls[1]</code> 包含第一个控件的名称, <code>Controls[2]</code> 包含第二个控件的名称, 而 <code>Controls.<a href="../lib/Array.htm#Length">Length</a></code> 返回该数字 2.</p> <p>控件是按照 Z 轴顺序排序的, 如果窗口支持 Tab 键, Z 轴顺序通常与通过 <kbd>Tab</kbd> 导航的顺序相同.</p> <h2 id="Error_Handling">错误处理</h2> <p>如果找不到窗口, 则抛出 <a href="Error.htm#TargetError">TargetError</a>.</p> <h2 id="Remarks">备注</h2> <p>鼠标光标下的窗口或控件的 ID 可以使用 <a href="MouseGetPos.htm">MouseGetPos</a> 来获取.</p> <p>窗口标题和文本是区分大小写的. 除非 <a href="DetectHiddenWindows.htm">DetectHiddenWindows</a> 被打开, 否则不会检测隐藏窗口.</p> <h2 id="Related">相关</h2> <p><a href="WinGetControlsHwnd.htm">WinGetControlsHwnd</a>, <a href="Win.htm">窗口函数</a>, <a href="Control.htm">控件函数</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> 从活动窗口的控件列表中提取每个控件的名称.</p> <pre>for n, ctrl in WinGetControls("A") { Result := MsgBox("Control #" n " is '" ctrl "'. Continue?",, 4) if (Result = "No") break }</pre> </div> <div class="ex" id="ExRealTime"> <p><a class="ex_number" href="#ExRealTime"></a> 实时显示活动窗口的控件列表.</p> <pre class="NoIndent">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." }</pre> </div> <a href="https://dftg.net">dftg</a></body> </html>