控件

AutoIt v3 其中最优秀的新功能就是提供了直接操作某些窗口控件的支持. 

在窗口上能看到的东西大多都是以下控件的一种:按钮、列表框、文本编辑框、静态文本等.

其实笔记本就是一个大的"编辑" 控件!

AutoIt 能直接控制它们, 使得实现窗口自动化操作更加可靠, 不仅仅是发生键击而已.

注意: AutoIt 仅支持标准的 Microsoft 控件 - 有些应用程序自己写的自定义控件看起来很像是标准的 MS 控件,

但可能会抵制自动化操作,那就只能靠您的经验判断了!

 

打开 AutoIt 窗口信息工具, 试着把鼠标移到自己感兴趣的窗口. AutoIt 窗口信息工具窗口将显示当前鼠标位置的控件信息. 

特别说明:大多数时候 controlID(控件 ID) 被作为参数使用, 如 Control...() 函数.

这种描述可以用来识别控制的下列属性:

一或多个控件属性命令以下面的格式在 controlID 变量中使用:

[ 属性1:值1; 属性2:值2 ]

注意: 如果不使用这个特定格式, 则变量参数的是 控件ID(如果是数值) 或者 控件类名/控件文本(如果是字串).

虽然这个格式书写较长, 但较其它方法要准确得多. 如果一个参数值包含分号, 则必须使用双引号. 如 ";".

 

例如, 将文本送到笔记本的编辑控件:

ControlSend("无标题 - 记事本", "", "[CLASS:Edit; INSTANCE:1]", "发送测试文本")

ControlSend("无标题 - 记事本", "", "[CLASSNN:Edit1]", "发送测试文本")

ControlSend("无标题 - 记事本", "", "Edit1", "发送测试文本")

 

又例如, 单击 "我的窗口" 的控件(控件ID 254):

ControlClick("我的窗口", "", "[ID:254]")

ControlClick("我的窗口", "", 254)

 

例如, 设置 .NET Winforms 的控件 "textBoxFolder" 文本为 "C:\Some\Folder":

ControlSetText("我的窗口", "", "[NAME:textBoxFolder]", "C:\Some\Folder")

 

再例如, 点击第二个包含"完成"文本的 "Button" 控件:

ControlClick("我的窗口", "", "[CLASS:Button; TEXT:完成; INSTANCE:2]")

 

控件句柄 (HWND)

使用ControlGetHandle 函数你可以确定控件的 句柄 或称为 HWND. 句柄是 Windows 提供给控件的独特标识符.

每个被创建的控件都具有不同的句柄. 用户在使用控件句柄来对控件操作之前,应该确定自己对句柄是非常熟悉的.

请到这里 函数参考 \ 窗口管理 \ 控件 查看控件函数的说明.

provider with jb51.net (unicode)