首页 后退 前进 |
AutoIt v3最好的新功能之一是能够直接使用特定的窗口控件。几乎所有在GUI窗口中看到的内容都是某些类型的元素:按钮,列表(ListBox),编辑区域,所有元素的静态文本。事实上,记事本应用程序只是"编辑"的一个重要元素!由于AutoIt直接与控件配合使用,因此提供了比发送按键更强大的自动化方式。
备注: AutoIt仅适用于标准的Microsoft控件。一些应用程序编写自己的自定义控件,这可能看起来像标准的MS元素,但可以抵消自动化。实验!
使用AutoIt v3窗口信息工具,将鼠标光标移动到您感兴趣的控件上的窗口中,您将获得有关当前在鼠标光标下的项目的信息。 特殊信息可用作大多数Control ...()函数中使用的参数controlID。此信息可用于标识具有以下属性的控件: ID是控件的内部ID。标识符是GUI窗口给每个元素的内部标识号。这通常是识别控件的最佳方式。除了AutoIt v3窗口信息之外,还有其他应用程序,如盲人和Microsoft工具/ API的屏幕阅读器,可以让您获取标识符 TEXT - 控件上的文本,例如按钮上的'&Next' CLASS是元素类的内部名称,例如'Edit'或'Button' CLASSNN - ClassnameNN格式的值,如以前版本的AutoIt中的和,例如"Edit1" NAME是.NET Framework WinForms的内部名称(如果可用) REGEXPCLASS - 正则表达式指定的类的名称 X \ Y \ W \ H - 控件的坐标和大小。 INSTANCE - 实例的序列号,当几个接收到的属性与搜索条件匹配时,从1开始计数。 参数e controlID中使用的一个或几个属性格式如下: [СВОЙСТВО1:值1;СВОЙСТВО2:值2] 'Property'和'value'对通过';'枚举,'Property'和'value'用':'分隔。 注意:如果不使用特殊格式,则参数被视为ID(如果号)或ClassnameNN /控制文本(如字符串)。 如果'Value'包含';',那么它必须重复。
例如: 在记事本窗口中将文本发送到第1个元素编辑 exect=ControlSend('Безымянный~~—~~Блокнот','''','[CLASS:Edit;INSTANCE:1]','Это~~некоторый~~текст') exect=ControlSend('Безымянный~~—~~Блокнот','''','[CLASSNN:Edit1]','Это~~некоторый~~текст') exect=ControlSend('Безымянный~~—~~Блокнот','''','Edit1','Это~~некоторый~~текст') 例如: 单击窗口"我的窗口"中的ID为254的控件 exect=ControlClick('Моё~~окно','''','[ID:254]') exect=ControlClick('Моё~~окно','''',254) 例如: 将文本"c:\Some\Folder"设置为.NET控件。Winforms"textBoxFolder" exect=ControlSetText('Моё~~окно','''','[NAME:textBoxFolder]','C:\Some\Folder') 例如: 单击包含文本"完成"的"Button"元素的第二个实例 exect=ControlClick('Моё окно','''','[CLASS:Button;TEXT:Finish;INSTANCE:2]') 例如: 使用Button类的名称获取按钮的文本,坐标X = 54; Y = 43,宽度等于63,高度等于34.不需要所有的度量按钮。使用5个属性。 exect=ControlGetText('Калькулятор','''','[CLASS:Button;X:54;Y:43;W:63;H:34]')
控制描述符(HWND) 使用ControlGetHandle函数,可以定义控件的句柄(HWND)。描述符是Windows给控件的唯一标识符。每次创建控件时,手柄都会更改。
在[Functions => Windows => Controls]部分的内容中列出了可以使用控件的功能列表。
© Аверин Андрей для Total Commander Image Averin-And@yandex.ru |