YStudio Y++

UI自动化类

Y++ / YStudio 开发文档 · 一点滴

类对象支持库。路径:支持库 → 扩展类库 → UI自动化类。

类型名写「UI自动化类」。声明时自动创建。

基于 Windows UI Automation(UIA),用于按名称 / 自动化ID / 控件类型查找界面元素,并完成单击、置文本、取属性等操作。不注入目标进程。

在 IDE 里开通 UI自动化类 后才能编译。编进用户程序之后,运行时不再检查授权。

快速开始

UI自动化类 u
如果 (!u.绑定前台窗口()) {
    输出(u.取错误())
    返回()
}
整数 e = u.查找("确定", "", "按钮", 3000)
如果 (e == 0) {
    输出(u.取错误())
    返回()
}
u.单击(e)

绑定与查找

方法 说明
绑定窗口([句柄=0]) 0=桌面;非 0=该窗口为查找根
绑定前台窗口() 以前台窗口为根
查找([名称], [自动化ID], [控件类型], [超时毫秒=0]) 返回元素句柄;失败 0
查找全部(...) 返回换行分隔的元素句柄文本
等待出现(...) 默认超时 10000 ms
等待消失(元素, [超时]) 元素失效视为消失

控件类型可用中文或英文:按钮/Button、编辑/Edit、文本/Text、窗口/Window、列表/List、列表项/ListItem、复选框/CheckBox、单选/RadioButton、组合框/ComboBox、菜单项/MenuItem、树/Tree、树项/TreeItem、选项卡/Tab、滑块/Slider 等。

元素句柄只在本会话有效。

操作与属性

方法 说明
单击 / 双击 / 右键单击 在元素中心模拟鼠标
调用 Invoke 模式(按钮等)
置文本 / 取文本 Value 模式;取文本不支持时回退名称
取名称 / 取自动化ID / 取控件类型 / 取类名 属性
取矩形 "x,y,宽,高" 屏幕坐标
取左 / 取顶 / 取宽 / 取高 单值
置焦点 / 是否启用 / 是否可见 / 是否有键盘焦点 状态
取窗口句柄 原生 HWND;无则 0
取父元素 父元素句柄
取错误 / 重置 错误与会话清理

注意

  • 部分高权限或游戏/直绘窗口可能无法被 UIA 枚举或拦截模拟点击。
  • 与「键鼠支持库」可配合:UIA 负责定位,键鼠负责复杂轨迹。
  • 收费位:supportlib.uiauto(仅开发期验票)。