入门教程
.NET 组件 FlaUI。
在 aardio 中 FlaUI 与 FlaUI.Core 指向同一名字空间。
注意首字母大写常用于 .NET 名字空间,而 aardio 名字空间通常小写首字母。
此组件库已自动导入 key,mouse 库
转换为指定类型的控件对象。
参数 @1 指定控件类名,参数 @2 指定界面节点对象
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Button控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Calendar控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.CheckBox控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.ComboBox控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.DataGridView控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.DateTimePicker控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Grid控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.GridCell控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.GridHeader控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.GridHeaderItem控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.GridRow控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.HorizontalScrollBar控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Label控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.ListBox控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.ListBoxItem控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Menu控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.MenuItem控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.ProgressBar控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.RadioButton控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Slider控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Spinner控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Tab控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.TabItem控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.TextBox控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Thumb控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.TitleBar控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.ToggleButton控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Tree控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.TreeItem控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.VerticalScrollBar控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Window控件。
返回控件的属性与方法请参考 FlaUI 文档或源码
绑定已运行的进程, FlaUI.Application 对象。
参数@1可以用字符串指定执行文件名,也可以用数值指定进程 ID。
此函数等价于 FlaUI.Application.Attach 函数
FlaUI.By(
ControlType = "Edit";
Name = "输入";/*创建节点搜索条件。
表参数@1 中每个键值对指定一个匹配条件,多个条件为 And 关系。
返回对象提供 And,Or,Not 函数,
And,Or 可以此函数创建的其他搜索条件对象作为参数*/
)
类型定义。
参考 https://github.com/FlaUI/FlaUI/tree/master/src/FlaUI.Core/Definitions
高亮参数@1指定的界面节点对象。
这个函数很卡,建议改用 aardio 提供的 win.ui.mask
查找窗口对象
所有参数可选(至少指定一个查找条件)。
参数@1可指定 process 对象、进程ID、EXE文件名、EXE路径。
窗口类名、标题都支持模式匹配语法。
超时可选指定一个单位为毫秒的数值
自参数@1指定的窗口句柄获取节点
自 @x,@y 参数指定的坐标查找并返回节点。
@parentNode 参数指定父节点或 FlaUI.GetMainWindow 等函数返回的窗口对象
运行进程并返回 FlaUI.Application 对象
字符串参数 @executable 指定执行程序路径。
可选用字符串 @arguments 指定启动参数。
如果参数 @1 为字符串,此函数调用 aardio 标准库 procsss 启动进程。
可传入更多 process 支持的构造参数
参数 @startInfo 可指定 System.Diagnostics.ProcessStartInfo 对象
运行 UWP 应用。
此函数等价于 FlaUI.Application.LaunchStoreApp 函数
FlaUI.enum(parentNode,function(flaUiNode,flaUiParent,index,level){
/*枚举 @parentNode 节点下面的所有后代节点。
返回 true 继续枚举子节点,返回 false 忽略子节点。
返回 null 退出枚举*/
}
控件类型。
参考 https://github.com/FlaUI/FlaUI/blob/master/src/FlaUI.Core/Definitions/ControlType.cs
按钮
文本框
获取节点的 XPath 路径
参数@node 指定当前节点。
可选用 @root 参数指定根节点
当前鼠标位置。
System.Drawing.Point 对象
如果导入 FlaUI.UIA3 则指向 FlaUI.UIA3。
如果未导入 FlaUI.UIA3 ,但导入 FlaUI.UIA2 ,则指向 FlaUI.UIA2
如果导入 FlaUI.UIA3 则指向 FlaUI.UIA3。
如果未导入 FlaUI.UIA3 ,但导入 FlaUI.UIA2 ,则指向 FlaUI.UIA2
查找窗口对象
所有参数可选(至少指定一个查找条件)。
参数@1可指定 process 对象、进程ID、EXE文件名、EXE路径。
窗口类名、标题都支持模式匹配语法。
超时可选指定一个单位为毫秒的数值
如果导入 FlaUI.UIA3 则此函数实际指向 FlaUI.UIA3.UIA3Automation。
如果未导入 FlaUI.UIA3 ,但导入 FlaUI.UIA2 ,则指向 FlaUI.UIA2.UIA2Automation。
创建 UIAAutomation 对象。
关闭进程。
如果参数 @1 为 true ,则在关闭失败时杀除进程
关闭超时。
System.TimeSpan 对象
退出代码
获取包含该进程内所有顶层窗口节点的数组。
参数@1应指定 FlaUI.UIA3.UIA3Automation 或 FlaUI.UIA2.UIA2Automation 创建的对象
获取主窗口节点。
获取主窗口节点。
参数@1应指定 FlaUI.UIA3.UIA3Automation 或 FlaUI.UIA2.UIA2Automation 创建的对象。
参数 @waitTimeout 可选用一个 System.TimeSpan 对象指定等待时间
是否已退出
是否 UWP 应用
杀除进程
主窗口句柄
进程名称
进程 ID
如果进程忙则等待。
可选用参数 @1 可选用一个 System.TimeSpan 对象指定等待时间
等待创建主窗口。
可选用参数 @1 可选用一个 System.TimeSpan 对象指定等待时间
默认方法
获取文本
是否选中
获取文本
逻辑与,参数 @1 可指定 By 函数返回的其他搜索条件对象
逻辑取反
逻辑或,参数 @1 可指定 By 函数返回的其他搜索条件对象
高度
宽度
自动化 ID
节点所在的区块。
注意所有 mouse 库函数都支持以此结构体转换为区块中点坐标
截图并返回 System.Drawing.Bitmap 对象
截图到文件。
参数指定文件路径。
如果路径使用了 aardio 规则,可用 io.fullpath 先转换一下
类名
控件类型,这个属型这是一个枚举数值。
改用 Properties.ControlType ,并将其传入 tostring 函数
可得到英文字符串表示的控件类型
使用参数 @1 指定的 XPath 表达式查找并返回找到的节点数组。
调用 FindAllByXPath 函数的元素为 XPath 根元素。
获取所有子节点可使用 FindAllChildren 函数
返回包含所有子节点的数组
使用参数 @1 指定的 XPath 表达式查找并返回找到的第一个节点。
调用 FindFirstByXPath 函数的元素为 XPath 根元素。
FlaUIElementObject.FindFirstDescendant(
automation.By( Name = "输入";ControlType="Edit")/*查找后代节点。
automation 请更换为当前使用的 FlaUI.UIA3.UIA3Automation 或 FlaUI.UIA2.UIA2Automation 对象*/
)
如果是窗口调用 SetForeground 函数前置,
否则调用 FocusNative 设为输入焦点
设为输入焦点
帮助文本
是否启用
状态,字符串
名称
父节点
在 aardio 中无法直接使用此接口。
可参考 FlaUI.UIA3.Caret 源码通过 C# 调用 Patterns 接口。
或者用 FlaUI.As 系列函数转换为控件以后再直接调用相关属性方法。
元素属性。
可用属性参考: https://github.com/FlaUI/FlaUI/blob/master/src/FlaUI.Core/FrameworkAutomationElementBase.Properties.cs#L77
前置窗口
是否选中
输入文本
是否只读
获取文本
控件类型,这是一个对象。
此对象可传入 tostring 函数转换为英文字符串。
也可用对象的 Value 成员返回枚举数值
在屏幕上是否不可见。
此对象需用 Value 字段返回布尔值。
是否内容展示元素 。
此对象需用 Value 字段返回布尔值。
是否密码输入框
是否控件。
此对象需用 Value 字段返回布尔值。
是否密码输入框
是否密码输入框。
此对象需用 Value 字段返回布尔值。
在屏幕上是否不可见,不可见为 true
是否密码输入框
是否外围 UI 组件,例如菜单或浮动通知。
此对象需用 Value 字段返回布尔值。
是否外围 UI 组件
本地化的控件类型,中文字符串。
此对象可传入 tostring 函数转换为字符串。
也可用对象的 Value 成员返回字符串值
本地化的控件类型(字符串值)
原生窗口句柄。
此对象可传入 tonumber 函数转换为数值。
也可用对象的 Value 成员返回数值
原生窗口句柄(数值)
进程 ID。
此对象可传入 tonumber 函数转换为数值。
也可用对象的 Value 成员返回数值
进程 ID(数值)