使用autoit,可以节省您很多时间

1. 简介

autoit是一个使用类似BASIC脚本语言的小工具,用来制作自动完成重复性任务的脚本,比如自动登录qq、登录邮箱、登录游戏客户端等。

特点:

l 语法类似于BASIC,非常简单,初中生绝对可以学会

l 有汉化版本,使用方便

l 帮助文档和函数库丰富

l 网上资料很多,中文论坛和英文论坛非常活跃,疑难杂症容易找到答案

l 支持unicode

l 兼容windows的大多数操作系统

l 支持Vista的UAC访问控制

l 等等

能够做的事情:

l 运行Windows和Dos程序

l 模拟键盘按键,如单击、双击、右键

l 模拟鼠标移动和点击,控制移动速度

l 对窗口创建、移动、调整大小、关闭等操作

l 访问窗口中的控件,如文本框、下拉框,可以获取文本、设置文本、选中等操作

l 配合剪贴板进行复制、粘贴

l 访问外部磁盘的文件,打开、读取、写入、关闭等

l 访问外部数据库,标配是SQLite

l 支持网络通讯协议,如http、ftp、tcp、udp

l 可以访问注册表

l 可以调用Win32的api

l 可以编译成exe文件,方便执行

l 等等

2. 安装

官网是http://www.autoitscript.com/,国内可以访问。

中文论坛是http://www.autoitx.com,只能在晚上10点到10点半之间才能注册。

软件有汉化版本,大家可以选择原版或者汉化版本。

安装后的目录结构如下:

clip_image002[4]

解释一下关键目录及文件含义:

Aut2Exe 文件夹包含如何把脚本文件打包成exe

AutoItX 文件夹含有activeX,用于其他程序通过dll方式使用autoit

Extras 文件夹含有录屏软件,可以录屏回放,可以直接修改录屏的脚本

Au3Info.exe 是一个捕获窗口信息的小工具,非常重要,非常好用

AU3TOOL.exe 是编写脚本的编辑器,非常重要,非常好用

AutoIt3CHS.chm 是汉化的帮助文档,必须通读

UDFs3CHS.chm 是用户自定义函数的帮助文档,还有大量调用win32 api的函数

简历.doc 是汉化作者的简历,不是本人的广告贴

3. 使用

在帮助文档中已经有非常详细的使用说明,我不再重复。

窗口信息工具很有用,如图

clip_image004[4]

实现思路是捕获窗口,然后查找窗口的控件。控件的标识如下定义:

clip_image006[4]

这些内容在小工具中都有体现。因此使用autoit开发,方便就在这里。

一定要注意:被操作的进程重启后,控件的这些标识都会改变

写脚本的时候有几个易出错的地方:

l 注释使用分号,不是双斜线

l 判断语句使用if …. then …. endif

l 函数定义使用 fun … endfunc

l MsgBox函数有三个参数,一定都要输入

l 字符串拼接使用 “&”

l 退出循环使用ExitLOOP

l 错误信息在@error中

4. 模块开发

写大的程序,一定要分到多个文件,只要有一个是主文件就行。对于一些变量定义,也要放到统一的地方,这都是非常有好处的。

比如我在应用中,就分了很多文件,每个文件不同的功能。有共性的内容放到一个文件中。

clip_image008[4]

项目中有au3文件,是必备的脚本;exe文件是编译后的可执行文件;ini文件是客户端的容易变化的信息,如用户名、密码等;jar文件封装了java调用exe文件的操作。

5. 打包发布

使用au2exe,可以把脚本编译成exe文件。

clip_image010[4]

如果要编译成控制台程序,请勾选最后一项。

6. 常用函数

WinActivate 激活窗口

ControlClick 点击控件的某个位置

MouseMove 移动光标

MouseDown 按下鼠标左键

Sleep 程序睡眠

ConsoleWrite 向控制台输出

Send 发送键盘信息

ControlGetPos 得到控件的坐标位置

ControlCommand 控制文本框、下拉框的文本、选项

常用的调用Win32 api的函数

_WinAPI_GetWindow

7. 结语

autoit可以遍历进程、可以获得句柄。如果想稳定控制程序,需要用到进程和句柄,可以使用Spy4Win工具来配合抓句柄。

在学习和使用autoit的过程中,遇到了很多问题,也查阅了很多资料,以上是我工作心得,抛砖引玉,希望对大家有用。

相信我,使用autoit,可以节省您很多时间

posted @ 2011-12-16 12:48  吴超沉思录  阅读(12338)  评论(4编辑  收藏  举报