控件
首页  后退  前进

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中使用的一个或几个属性格式如下:

copysmall

[СВОЙСТВО1:值1;СВОЙСТВО2:值2]

'Property'和'value'对通过';'枚举,'Property'和'value'用':'分隔。

注意:如果不使用特殊格式,则参数被视为ID(如果号)或ClassnameNN /控制文本(如字符串)。

如果'Value'包含';',那么它必须重复。

 

例如: 在记事本窗口中将文本发送到第1个元素编辑

copysmall

exect=ControlSend('Безымянный~~—~~Блокнот','''','[CLASS:Edit;INSTANCE:1]','Это~~некоторый~~текст')

copysmall

exect=ControlSend('Безымянный~~—~~Блокнот','''','[CLASSNN:Edit1]','Это~~некоторый~~текст')

copysmall

exect=ControlSend('Безымянный~~—~~Блокнот','''','Edit1','Это~~некоторый~~текст')

例如: 单击窗口"我的窗口"中的ID为254的控件

copysmall

exect=ControlClick('Моё~~окно','''','[ID:254]')

copysmall

exect=ControlClick('Моё~~окно','''',254)

例如: 将文本"c:\Some\Folder"设置为.NET控件。Winforms"textBoxFolder"

copysmall

exect=ControlSetText('Моё~~окно','''','[NAME:textBoxFolder]','C:\Some\Folder')

例如: 单击包含文本"完成"的"Button"元素的第二个实例

copysmall

exect=ControlClick('Моё окно','''','[CLASS:Button;TEXT:Finish;INSTANCE:2]')

例如: 使用Button类的名称获取按钮的文本,坐标X = 54; Y = 43,宽度等于63,高度等于34.不需要所有的度量按钮。使用5个属性。

copysmall

exect=ControlGetText('Калькулятор','''','[CLASS:Button;X:54;Y:43;W:63;H:34]')

 

控制描述符(HWND)

使用ControlGetHandle函数,可以定义控件的句柄(HWND)。描述符是Windows给控件的唯一标识符。每次创建控件时,手柄都会更改。

 

在[Functions => Windows => Controls]部分的内容中列出了可以使用控件的功能列表。

 

 


tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru