控件函数

用于检索有关控件的信息, 或对控件进行各种操作的函数. 单击函数名查看详细信息.

函数 描述
ControlAddItem 添加指定的字符串作为 ListBox(列表框) 或 ComboBox(组合框) 底部的新条目.
ControlChooseIndex 将列表框, 组合框或标签页控件中的选择设置为第 N 项.
ControlChooseString 将 ListBox 或 ComboBox 中的选择设置为其开头部分与指定字符串匹配的第一个条目.
ControlClick 发送鼠标按钮或鼠标滚轮事件到控件.
ControlDeleteItem 从 ListBox 或 ComboBox 中删除指定的条目.
ControlFindItem 返回与指定字符串完全匹配的 ListBox 或 ComboBox 的条目的编号.
ControlFocus 设置输入焦点到窗口的指定控件上.
ControlGetChecked 如果选中复选框或单选按钮, 则返回非零值.
ControlGetChoice 返回列表框或组合框中当前选定项的名称.
ControlGetClassNN 返回指定控件的 ClassNN(类名和序号).
ControlGetEnabled 如果指定的控件是启用的, 则返回非零值.
ControlGetFocus 如果有, 则获取目标窗口中具有输入焦点的控件.
ControlGetHwnd 返回指定控件的唯一 ID.
ControlGetIndex 返回 ListBox, ComboBox 或 Tab 控件中当前选中的条目或标签的索引.
ControlGetItems 返回 ListBox, ComboBox 或 DropDownList 中的项目/行数组.
ControlGetPos 获取控件的位置和大小.
ControlGetStyle
ControlGetExStyle
返回表示指定控件样式或扩展样式的整数.
ControlGetText 从控件检索文本.
ControlGetVisible 如果指定的控件可见, 则返回非零值.
ControlHide 隐藏指定控件.
ControlHideDropDown 隐藏 ComboBox 控件的下拉列表.
ControlMove 移动或调整控件.
ControlSend
ControlSendText
向窗口或控件发送模拟的击键或文本.
ControlSetChecked 打开(选中) 或关闭(取消选中) 复选框或单选按钮.
ControlSetEnabled 启用或禁用指定的控件.
ControlSetStyle
ControlSetExStyle
分别更改指定控件的样式或扩展样式.
ControlSetText 更改控件的文本.
ControlShow 如果指定的控件先前是隐藏的, 则显示该控件.
ControlShowDropDown 显示 ComboBox 控件的下拉列表.
EditGetCurrentCol 返回编辑控件中插入点所在的列号.
EditGetCurrentLine 返回编辑控件中插入点所在的行号.
EditGetLine 返回 Edit 控件中指定行的文本.
EditGetLineCount 返回 Edit 控件的行数.
EditGetSelectedText 返回 Edit 控件中选定的文本.
EditPaste 将指定的字符串粘贴到 Edit 控件中的插入符号(文本插入点) 处.
ListViewGetContent 返回列表视图中的项目/行列表.

Control 参数

操作单个控件的函数有一个名为 Control 的参数, 该参数支持几种不同的方法来识别控件. Control 参数可以是以下参数之一:

ClassNN(字符串): 控件的 ClassNN(类名和实例号), 可以通过 Window Spy 来确定. 例如 "Edit1" 是类名为 "Edit" 的第一个控件.

Text(字符串): 控件的文本. 匹配行为由 SetTitleMatchMode 决定.

HWND(整数): 控件的 HWND, 通常通过 ControlGetHwnd, MouseGetPosDllCall 检索. 这也适用于隐藏控件, 即使 DetectHiddenWindows 关闭. 任何后续的窗口参数都被忽略.

Object: 具有 Hwnd 属性的任何类型的对象, 如 GuiControl. 如果对象没有 Hwnd 属性, 则抛出 PropertyError, 或不返回纯整数, 则抛出 TypeError. 任何后续的窗口参数都将被忽略.

省略: 一些函数可以操作控件或顶级窗口. 省略 Control 参数会导致函数使用目标窗口(由 WinTitle 指定) 而不是它的一个控件. 例如, ControlSend 可以直接发送键盘消息到窗口.

错误处理

通常情况下, 可能会抛出以下错误之一:

备注

为了提高可靠性, 在每次使用更改控件的控件函数(除了 ControlSetStyleControlSetExStyle 外) 之后, 会自动执行延迟. 该延迟可以通过 SetControlDelay 或给 A_ControlDelay 赋值来更改. 有关详情, 请参阅 SetControlDelay 备注.

要发现鼠标当前悬停的控件的 ClassNN 或 HWND, 请使用 MouseGetPos.

要检索窗口中所有控件的数组, 请使用 WinGetControlsWinGetControlsHwnd.

SetControlDelay, 窗口函数, GuiControl 对象(用于由脚本创建的控件)