好文档 - 专业文书写作范文服务资料分享网站

autoit快速开发指南

天下 分享 时间: 加入收藏 我要投稿 点赞

* * WinActivate(“窗口标题”) $hWnd = ControlGetHandle(“窗口标题”, \“控件ID”) $count = _GUICtrlListBox_GetCount($hWnd) For $i=0 To $count-1 $hLabel = _GUICtrlListBox_GetText($hWnd, $i) …… Next 1. 点击操作

6.1 控件点击

控件点击一般使用:

ControlClick(\窗口标题\控件名或ID\按钮\点击次数\按钮分左键(left),右键(right)等

此外还可以在函数后面添加坐标,这对于占用屏幕区域比较大的时候,精确点击某个位置触发其他操作比较重要

比如在一个表格中,需要右击某一行记录,弹出右键菜单的情况。

6.2 鼠标点击

MouseClick(“按钮”, “X坐标”,”Y坐标”,”点击次数”) MouseClick函数对于任何点击操作都有效,

唯一不理想的是,它涉及坐标点的确定,降低了程序的通用性。 如果非要这么做,建议: 1) 将当前窗口激活,并最大化

* * WinActivate(\窗口标题\WinSetState(\窗口标题\;接下来进行鼠标点击相关操作 …… 2) 如果当前窗口禁用最大化,则使用当前窗口相对坐标进行操作

AutoItSetOption ( \ ;这里指相对当前激活窗口的坐标 WinActivate(\窗口标题\;接下来进行鼠标点击相关操作 …… 2. 键盘操作

键盘操作一般使用Send函数,想激活窗口发送模拟键盘操作

7.1 一般字符

这种情况指向当前激活窗口文本框,发送按键字符,如: Send(\向光标激活地方发送的字符串\7.2 快捷操作

这种情况一般没有光标的输入,只是针对当前的激活窗口的一些快捷操作,比如按键”ctrl+S”是保存等,如

Send(\另外一些快捷键如: Ctrl=^ * * Alt=! Win=# Shift=+ 其他如: Send(“{ PRINTSCREEN}”) 截屏键 Send(“{ SPACE}”) 空格键 Send(“{ ENTER}”) 回车键 Send(“{ BACKSPACE}”) 退格键 …… 3. 字符串处理

针对字符串的处理,一般常需要判断字符串是否存在,或对字符串进行拆分、替换等,下面用一个例子来说明一下:

一个用&&连接的子字符串,需要跟某段文字进行匹配,如果发现存在子存在,则替换成指定的字符串 $originalStr=\………………\$matchStr=\政府&&奶奶的\$array = StringSplit($matchStr, '&&', 1) If $i=1 To $array[0] Then If StringInStr($originalStr,$array[$i])>0 Then $originalStr = StringReplace($originalStr,$array[$i,\EndIf EndIf 其他可以参考官方帮助文档。

* *

4. 数组处理

数组可以包含不同数据类型的数据,处理起来有两种情况需要注意

9.1 一般数组

这个跟其他程序语言无太大的差别,如下所示: Dim $array[2] $array[0]=1 $array[1]=2 注意下标从0开始

9.2 特殊数组

特殊数组指某些函数的返回值为数组的情况,或是在运行脚本时候,传递给命令行的参数,AutoIT会初始化一个特殊的数组,这些数组下标也是从0开始,但是为0的项保存的是数组的个数。 ? 命令行返回数组

对于脚本参数数组为$CmdLine,可以直接使用 $CmdLine[0] ;参数的数量

$CmdLine[1] ;第一个参数 (脚本名称后面) $CmdLine[2] ;第二个参数 ...

$CmdLine[$CmdLine[0]] ;可以用来表示得到最后一个参数... 如果脚本是像下面这样被运行的话:

AutoIt3.exe myscript.au3 参数1 \这是 一个其它参数\$CmdLine[0] 等价于... 2

* *

$CmdLine[1] 等价于... 参数1

$CmdLine[2] 等价于... 这是一个其它参数 @ScriptName 等价于... myscript.au3

? 函数返回数组

前面用到的StringSplit函数返回值也是一个数组,0位保存的是数组项的个数,数组内却是从1开始计数 $matchStr=\$array = StringSplit($matchStr, '&&', 1) 如上:

$array[0] 等于4 $array[1] 等于”11” $array[2] 等于”22” $array[3] 等于”33”

其他还有另外一些特殊的函数,如FileGetTime,WinList等等很多函数,返回值都是数组的情况,具体用法可能有些差异,这些可以参考相关文档。

5. 日期时间

当前日期时间,可以直接从日期和时间宏中获取,如: @SEC 当前时钟的秒值,值的范围是 00 到 59 @MIN 当前时钟的分值,值的范围是 00 到 59

@HOUR 当前时钟的时值(24时制),值的范围是 00 到 23 @MDAY 当天属本月的第几天,值的范围是 01 到 31

4yllb75ykx4ncj33s2bw8iiwn479cv018e4
领取福利

微信扫码领取福利

微信扫码分享