//FlaUI 自动化 - 操作微信 import FlaUI.UIA3; //可使用『aardio 工具 » 探测器 » FlaUI 探测器』自动生成下面的代码。 //教程 https://mp.weixin.qq.com/s/uEJSete63SQgJYEHw2PacQ /* 查找窗口 参数@1: 可指定EXE文件名、EXE路径、进程ID。 参数@2: 窗口类名,支持模式匹配语法。 参数@3: 窗口标题,支持模式匹配语法。 */ var window = FlaUI.FindWindow("WeChat.exe","WeChatMainWndForPC","微信"); //上面的参数都是可选参数,以下写法都是可以的 //var window = FlaUI.FindWindow("WeChat.exe") //var window = FlaUI.FindWindow( , ,"微信"); //var window = FlaUI.FindWindow( ,"WeChatMainWndForPC") if(window){ //前置窗口 window.Focus(); /* 了解最简单的几个 XPath 语法规则: XPath 用斜杠分开节点,单斜杠 / 表示选择当前节点的子节点。 两个斜杠 // 表示选择当前节点下面任意深度的后代节点(不要求位置是直接子节点)。 如果路径开始于单个斜杠 / ,则表示从根节点开始查找。 例如 "/Window/Edit" 表示找根节点的子节点 Window 的子节点 Edit。 这里的 Window, Edit 指的是节点类型(ControlType)。 下面用 XPath 查找输入框: */ var input = window.FindFirstByXPath(`//Edit[@Name="文件传输助手"]`); /* 上面的[@Name="文件传输助手"]用于指定节点的 Name 属性, 属性置于方括号内并以 @ 字符作为名称前缀。 可查询的属性有:AutomationId, Name,ClassName,HelpText 。 可以用探测工具 FlaUInspect 查看这些属性。 */ //上面的写法等价于下面的写法 /* var input = window.FindFirstDescendant( FlaUI.By( Name = "文件传输助手"; ControlType="Edit") ) */ //点击输入框 mouse.click(input); //发送文本内容 key.sendString("测试内容"); //查找按钮 var sendButton = window.FindFirstByXPath("//Button[@Name='发送(S)']"); //转换为 button 控件 var sentButton = FlaUI.AsButton(sendButton) //点击按钮 sentButton.Invoke() }