aardio 文档

FlaUI 库模块帮助文档

入门教程

入门教程

FlaUI 成员列表 #

.NET 组件 FlaUI。
在 aardio 中 FlaUI 与 FlaUI.Core 指向同一名字空间。
注意首字母大写常用于 .NET 名字空间,而 aardio 名字空间通常小写首字母。

此组件库已自动导入 key,mouse 库

FlaUI.As("Button",) #

转换为指定类型的控件对象。
参数 @1 指定控件类名,参数 @2 指定界面节点对象

FlaUI.AsButton() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Button控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

返回对象:FlaUIButtonObject

FlaUI.AsCalendar() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Calendar控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsCheckBox() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.CheckBox控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

返回对象:FlaUICheckBoxObject

FlaUI.AsComboBox() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.ComboBox控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsDataGridView() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.DataGridView控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsDateTimePicker() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.DateTimePicker控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsGrid() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Grid控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsGridCell() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.GridCell控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsGridHeader() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.GridHeader控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsGridHeaderItem() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.GridHeaderItem控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsGridRow() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.GridRow控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsHorizontalScrollBar() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.HorizontalScrollBar控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsLabel() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Label控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

返回对象:FlaUILabelObject

FlaUI.AsListBox() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.ListBox控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsListBoxItem() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.ListBoxItem控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsMenu() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Menu控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsMenuItem() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.MenuItem控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsProgressBar() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.ProgressBar控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsRadioButton() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.RadioButton控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

返回对象:FlaUIRadioButtonObject

FlaUI.AsSlider() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Slider控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsSpinner() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Spinner控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsTab() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Tab控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsTabItem() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.TabItem控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsTextBox() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.TextBox控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

返回对象:FlaUITextBoxObject

FlaUI.AsThumb() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Thumb控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsTitleBar() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.TitleBar控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsToggleButton() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.ToggleButton控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsTree() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Tree控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsTreeItem() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.TreeItem控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsVerticalScrollBar() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.VerticalScrollBar控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.AsWindow() #

将参数 @1 指定的 UIA 节点转换为 FlaUI.AutomationElements.Window控件。
返回控件的属性与方法请参考 FlaUI 文档或源码

FlaUI.Attach() #

绑定已运行的进程, FlaUI.Application 对象。
参数@1可以用字符串指定执行文件名,也可以用数值指定进程 ID。
此函数等价于 FlaUI.Application.Attach 函数

返回对象:FlaUIAppObject

返回对象:FlaUIAppObject

FlaUI.By() #

返回对象:FlaUIConditionObject

FlaUI.By(condition) #

FlaUI.By(  
    ControlType = "Edit";  
    Name = "输入";/*创建节点搜索条件。  
表参数@1 中每个键值对指定一个匹配条件,多个条件为 And 关系。  
返回对象提供 And,Or,Not 函数,  
And,Or 可以此函数创建的其他搜索条件对象作为参数*/  
)

FlaUI.Definitions #

类型定义。
参考 https://github.com/FlaUI/FlaUI/tree/master/src/FlaUI.Core/Definitions

FlaUI.DrawHighlight() #

高亮参数@1指定的界面节点对象。
这个函数很卡,建议改用 aardio 提供的 win.ui.mask

FlaUI.FindWindow #

查找窗口对象

FlaUI.FindWindow() #

返回对象:FlaUIElementObject

FlaUI.FindWindow(进程,窗口类名,标题,超时) #

所有参数可选(至少指定一个查找条件)。
参数@1可指定 process 对象、进程ID、EXE文件名、EXE路径。
窗口类名、标题都支持模式匹配语法。
超时可选指定一个单位为毫秒的数值

FlaUI.FromHwnd() #

自参数@1指定的窗口句柄获取节点

返回对象:FlaUIElementObject

FlaUI.FromPoint() #

返回对象:FlaUIElementObject

FlaUI.FromPoint(parentNode,x,y) #

自 @x,@y 参数指定的坐标查找并返回节点。
@parentNode 参数指定父节点或 FlaUI.GetMainWindow 等函数返回的窗口对象

FlaUI.Launch #

运行进程并返回 FlaUI.Application 对象

FlaUI.Launch() #

返回对象:FlaUIAppObject

返回对象:FlaUIAppObject

FlaUI.Launch(executable,arguments) #

字符串参数 @executable 指定执行程序路径。
可选用字符串 @arguments 指定启动参数。
如果参数 @1 为字符串,此函数调用 aardio 标准库 procsss 启动进程。
可传入更多 process 支持的构造参数

FlaUI.Launch(startInfo) #

参数 @startInfo 可指定 System.Diagnostics.ProcessStartInfo 对象

FlaUI.LaunchStoreApp(appUserModelId,arguments) #

运行 UWP 应用。
此函数等价于 FlaUI.Application.LaunchStoreApp 函数

FlaUI.enum #

FlaUI.enum(parentNode,function(flaUiNode,flaUiParent,index,level){
    /*枚举 @parentNode 节点下面的所有后代节点。  
返回 true 继续枚举子节点,返回 false 忽略子节点。  
返回 null 退出枚举*/
}

FlaUI.ControlType 成员列表 #

控件类型。
参考 https://github.com/FlaUI/FlaUI/blob/master/src/FlaUI.Core/Definitions/ControlType.cs

FlaUI.ControlType.Button #

按钮

FlaUI.ControlType.Edit #

文本框

FlaUI.Debug 成员列表 #

FlaUI.Debug.GetXPathToElement #

获取节点的 XPath 路径

FlaUI.Debug.GetXPathToElement(node,root) #

参数@node 指定当前节点。
可选用 @root 参数指定根节点

FlaUI.Input.Mouse 成员列表 #

FlaUI.Input.Mouse.Position #

当前鼠标位置。
System.Drawing.Point 对象

FlaUI.UIA 成员列表 #

如果导入 FlaUI.UIA3 则指向 FlaUI.UIA3。
如果未导入 FlaUI.UIA3 ,但导入 FlaUI.UIA2 ,则指向 FlaUI.UIA2

如果导入 FlaUI.UIA3 则指向 FlaUI.UIA3。
如果未导入 FlaUI.UIA3 ,但导入 FlaUI.UIA2 ,则指向 FlaUI.UIA2

FlaUI.UIA.FindWindow #

查找窗口对象

FlaUI.UIA.FindWindow() #

返回对象:FlaUIElementObject

FlaUI.UIA.FindWindow(进程,窗口类名,标题,超时) #

所有参数可选(至少指定一个查找条件)。
参数@1可指定 process 对象、进程ID、EXE文件名、EXE路径。
窗口类名、标题都支持模式匹配语法。
超时可选指定一个单位为毫秒的数值

FlaUI.UIA.UIAAutomation #

如果导入 FlaUI.UIA3 则此函数实际指向 FlaUI.UIA3.UIA3Automation。
如果未导入 FlaUI.UIA3 ,但导入 FlaUI.UIA2 ,则指向 FlaUI.UIA2.UIA2Automation。

FlaUI.UIA.UIAAutomation() #

创建 UIAAutomation 对象。

返回对象:FlaUIA3AutomationObject

FlaUIAppObject 成员列表 #

FlaUIAppObject.Close() #

关闭进程。
如果参数 @1 为 true ,则在关闭失败时杀除进程

FlaUIAppObject.CloseTimeout #

关闭超时。
System.TimeSpan 对象

FlaUIAppObject.ExitCode #

退出代码

FlaUIAppObject.GetAllTopLevelWindows() #

获取包含该进程内所有顶层窗口节点的数组。
参数@1应指定 FlaUI.UIA3.UIA3Automation 或 FlaUI.UIA2.UIA2Automation 创建的对象

FlaUIAppObject.GetMainWindow #

获取主窗口节点。

FlaUIAppObject.GetMainWindow() #

返回对象:FlaUIElementObject

FlaUIAppObject.GetMainWindow(automation,waitTimeout) #

获取主窗口节点。
参数@1应指定 FlaUI.UIA3.UIA3Automation 或 FlaUI.UIA2.UIA2Automation 创建的对象。
参数 @waitTimeout 可选用一个 System.TimeSpan 对象指定等待时间

FlaUIAppObject.HasExited #

是否已退出

FlaUIAppObject.IsStoreApp #

是否 UWP 应用

FlaUIAppObject.Kill() #

杀除进程

FlaUIAppObject.MainWindowHandle #

主窗口句柄

FlaUIAppObject.Name #

进程名称

FlaUIAppObject.ProcessId #

进程 ID

FlaUIAppObject.WaitWhileBusy() #

如果进程忙则等待。
可选用参数 @1 可选用一个 System.TimeSpan 对象指定等待时间

FlaUIAppObject.WaitWhileMainHandleIsMissing() #

等待创建主窗口。
可选用参数 @1 可选用一个 System.TimeSpan 对象指定等待时间

FlaUIButtonObject 成员列表 #

FlaUIButtonObject.Invoke() #

默认方法

FlaUIButtonObject.Text #

获取文本

FlaUICheckBoxObject 成员列表 #

FlaUICheckBoxObject.IsChecked #

是否选中

FlaUICheckBoxObject.Text #

获取文本

FlaUIConditionObject 成员列表 #

FlaUIConditionObject.And() #

逻辑与,参数 @1 可指定 By 函数返回的其他搜索条件对象

FlaUIConditionObject.Not() #

逻辑取反

FlaUIConditionObject.Or() #

逻辑或,参数 @1 可指定 By 函数返回的其他搜索条件对象

FlaUIElementObject 成员列表 #

FlaUIElementObject.* #

返回对象:FlaUIElementObject

FlaUIElementObject.ActualHeight #

高度

FlaUIElementObject.ActualWidth #

宽度

FlaUIElementObject.AutomationId #

自动化 ID

FlaUIElementObject.BoundingRectangle #

节点所在的区块。
注意所有 mouse 库函数都支持以此结构体转换为区块中点坐标

FlaUIElementObject.Capture() #

截图并返回 System.Drawing.Bitmap 对象

FlaUIElementObject.CaptureToFile() #

截图到文件。
参数指定文件路径。
如果路径使用了 aardio 规则,可用 io.fullpath 先转换一下

FlaUIElementObject.ClassName #

类名

FlaUIElementObject.ControlType #

控件类型,这个属型这是一个枚举数值。

改用 Properties.ControlType ,并将其传入 tostring 函数
可得到英文字符串表示的控件类型

FlaUIElementObject.FindAllByXPath("字符串参数") #

使用参数 @1 指定的 XPath 表达式查找并返回找到的节点数组。
调用 FindAllByXPath 函数的元素为 XPath 根元素。

获取所有子节点可使用 FindAllChildren 函数

FlaUIElementObject.FindAllByXPath() #

返回对象:FlaUIElementObject

FlaUIElementObject.FindAllChildren() #

返回包含所有子节点的数组

FlaUIElementObject.FindFirstByXPath("字符串参数") #

使用参数 @1 指定的 XPath 表达式查找并返回找到的第一个节点。
调用 FindFirstByXPath 函数的元素为 XPath 根元素。

FlaUIElementObject.FindFirstByXPath() #

返回对象:FlaUIElementObject

FlaUIElementObject.FindFirstDescendant() #

返回对象:FlaUIElementObject

FlaUIElementObject.FindFirstDescendant(condition) #

FlaUIElementObject.FindFirstDescendant(   
    automation.By( Name = "输入";ControlType="Edit")/*查找后代节点。  
automation 请更换为当前使用的 FlaUI.UIA3.UIA3Automation 或 FlaUI.UIA2.UIA2Automation 对象*/  
)

FlaUIElementObject.Focus() #

如果是窗口调用 SetForeground 函数前置,
否则调用 FocusNative 设为输入焦点

FlaUIElementObject.FocusNative() #

设为输入焦点

FlaUIElementObject.HelpText #

帮助文本

FlaUIElementObject.IsEnabled #

是否启用

FlaUIElementObject.ItemStatus #

状态,字符串

FlaUIElementObject.Name #

名称

FlaUIElementObject.Parent #

父节点

返回对象:FlaUIElementObject

FlaUIElementObject.Patterns #

在 aardio 中无法直接使用此接口。
可参考 FlaUI.UIA3.Caret 源码通过 C# 调用 Patterns 接口。
或者用 FlaUI.As 系列函数转换为控件以后再直接调用相关属性方法。

FlaUIElementObject.Properties #

元素属性。
可用属性参考: https://github.com/FlaUI/FlaUI/blob/master/src/FlaUI.Core/FrameworkAutomationElementBase.Properties.cs#L77

返回对象:FlaUiPropertyObject

FlaUIElementObject.SetForeground() #

前置窗口

FlaUIRadioButtonObject 成员列表 #

FlaUIRadioButtonObject.IsChecked #

是否选中

FlaUITextBoxObject 成员列表 #

FlaUITextBoxObject.Enter() #

输入文本

FlaUITextBoxObject.IsReadOnly #

是否只读

FlaUITextBoxObject.Text #

获取文本

FlaUiPropertyObject 成员列表 #

FlaUiPropertyObject.ControlType #

控件类型,这是一个对象。
此对象可传入 tostring 函数转换为英文字符串。
也可用对象的 Value 成员返回枚举数值

FlaUiPropertyObject.IsOffscreen #

在屏幕上是否不可见。
此对象需用 Value 字段返回布尔值。

FlaUiPropertyObject.IsContentElement 成员列表 #

是否内容展示元素 。
此对象需用 Value 字段返回布尔值。

FlaUiPropertyObject.IsContentElement.Value #

是否密码输入框

FlaUiPropertyObject.IsControlElement 成员列表 #

是否控件。
此对象需用 Value 字段返回布尔值。

FlaUiPropertyObject.IsControlElement.Value #

是否密码输入框

FlaUiPropertyObject.IsPassword 成员列表 #

是否密码输入框。
此对象需用 Value 字段返回布尔值。

FlaUiPropertyObject.IsPassword.Value #

在屏幕上是否不可见,不可见为 true

是否密码输入框

FlaUiPropertyObject.IsPeripheral 成员列表 #

是否外围 UI 组件,例如菜单或浮动通知。
此对象需用 Value 字段返回布尔值。

FlaUiPropertyObject.IsPeripheral.Value #

是否外围 UI 组件

FlaUiPropertyObject.LocalizedControlType 成员列表 #

本地化的控件类型,中文字符串。
此对象可传入 tostring 函数转换为字符串。
也可用对象的 Value 成员返回字符串值

FlaUiPropertyObject.LocalizedControlType.Value #

本地化的控件类型(字符串值)

FlaUiPropertyObject.NativeWindowHandle 成员列表 #

原生窗口句柄。
此对象可传入 tonumber 函数转换为数值。
也可用对象的 Value 成员返回数值

FlaUiPropertyObject.NativeWindowHandle.Value #

原生窗口句柄(数值)

FlaUiPropertyObject.ProcessId 成员列表 #

进程 ID。
此对象可传入 tonumber 函数转换为数值。
也可用对象的 Value 成员返回数值

FlaUiPropertyObject.ProcessId.Value #

进程 ID(数值)

Markdown 格式