autoit3入门指南
AutoIt v3
控件管理
向指定控件发送鼠标点击命令. ControlClick ( "标题", "文本", 控件ID [, 按钮 [, 点击次数 [, X坐标 [, Y坐标 ]]]] ) 向指定控件发送命令. ControlCommand ( "窗口标题", "窗口文本", 控件ID, "命令" [, "选项"] ) 修改指定控件的文本. ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本" [,标志] ) 获取指定控件上的文本. ControlGetText ( "窗口标题", "窗口文本", 控件ID)
数学运算
相加. 相减. 相乘. 相除. 字符串连接. 幂.
逻辑运算
AND 与. OR 或. NOT 非.
判断两个值是否不相等. 不区分字符串大小写. 注: <> 判断两个值是否不相等 不区分字符串大小写 要比较一个大 感的不等于操作使用 Not ("string1" == "string2") 小写敏
函数的变量作用域
局部变量,只在函数内部起作用,不会影响到函数外部(即使在函数外部 局部变量 存在另一个同名变量)。 全局变量,它的作用范围是整个程序。 全局变量
函数的嵌套与递归
函数的嵌套 嵌套,就是在一个函数中调用另一个函数。 嵌套 函数的递归 递归,就是在函数中调用函数,不过与嵌套的区别在于,嵌套是调 递归 用其它函数,而递归则是调用自身。
循环语句
有限循环为:For...To...Step...Next 无限循环第一种:While...Wend 无限循环第二种:Do...Until 注:ExitLoop 关键字是用来跳出循环的。 当多层循环嵌套时, ExitLoop后面接一个数字,表示第几层循环(后 面没跟数字时,表示使用默认值1,跳出最靠近它的循环)。
三位一体3图文攻略全流程攻略及按键说明
三位⼀体3-图⽂攻略全流程攻略及按键说明 《三位⼀体3权⼒的圣器》是⼀款冒险解谜类游戏,视⾓设定不可变动但并⾮横版。
游戏采⽤虚幻4引擎制作,画⾯微⼩之处都显得⽆不精美,绚丽的光影,⾼质量的贴图,新奇的场景设定,当然还有独具创新的游戏玩法,相信都会使游戏成为⼀款耐玩的佳作。
今天⼩编为⼤家带来游民速攻组为⼤家分享的《三位⼀体3》图⽂攻略,希望⼤家喜欢,⼀起来看吧。
游戏的初始界⾯ 按键说明 基础按键说明:按键说明W向上S向下D向右A向左s p a c e跳跃1切换法师2切换盗贼3切换骑士V下个人物C上个人物 法师特有按键设定:按键说明F召唤鼠标右键物体浮空 盗贼特有按键设定:按键说明鼠标左键使用弓箭S p a c e绳跳鼠标滚轮向上绳子缩短鼠标滚轮向下绳子增长D向右荡A向左荡 骑⼠特有按键设定:按键说明鼠标左键使用剑鼠标右键使用盾%{p a g e-b r e a k|按键说明|p a g e-b r e a k}% 第⼀章: 骑⼠篇: 游戏中的世界发⽣了暴乱,对话中得知⼈们需要寻求三个英雄的帮助。
三位英雄依次登场。
空格键跳跃翻越障碍 ⿏标左键斩断⾏进路途中的藤蔓等阻碍物 这⾥先把版左下⽅的⽀撑物打断,跳上来,然后趁机翻越。
⿏标左右键同时按下冲刺,冲撞物体,跳到这个巨⼤的西⽠上,接着再跳上边缘。
利⽤墙壁反弹跳到⾼处,沿着路线⾛ 出发⼀段剧情,我们要追随怀抱绵⽺的窃贼。
空中按住s p a c e滑翔,⼀段路程后进⼊下⼀个路径点。
%{p a g e-b r e a k|第⼀章-骑⼠篇(1)|p a g e-b r e a k}% 在⼀个⼭洞内,跳起后按C T R L,踏碎脚下的⽊板,继续前进。
仍然利⽤冲撞,将⽯壁撞碎,开路 下来拐⾓处遇到⼀个⽕球的机关,按⿏标右键防御格挡,可以防⽌⽕球的伤害,⼀路前⾏。
之后在远处会看到窃贼,我们要去解决它。
又来到⼀个机关点,将⽊桶下⾯脆弱的⽊质结构冲撞开,沿着掉落下来的⽊板上去,再⼀次空中重踩启动机关,开门触发新剧情 杀死窃贼后,会来⼀群⼩怪,⿏标左键攻击,右键防御,很快就能够清完,从窃贼⼿⾥救下绵⽺,暂时结束骑⼠的剧情%{p a g e-b r e a k|第⼀章-骑⼠篇(2)|p a g e-b r e a k}% 盗贼篇 第⼆位英雄是⼀位盗贼,武器是⼀把⼸箭,开始控制⼈物。
Au3教程——精选推荐
Au3教程⾃动安装脚本制作⼊门(⼀)⼀、制作⽬的和原则说到⾃动安装,其⽬的就是模拟⼿动操作,⾃动完成对指定按键的点击和输⼊指定内容,处理可能出现的情况,最终完成程序的安装和设置。
也许有⼈说这样就明⽩了,⽤AutoIt⾥的MouseClick、Send来完成点击和输⼊,只要抓好点击的坐标就⼀切搞定了啊!这当然不能说不是个办法,但做出来的成品可能只能在你⾃⼰的电脑上能⽤,说不定下⼀次你⾃⼰也没法⽤了。
因为每个⼈的电脑是不⼀样的,安装窗体在不同分辨率下的位置也是不⼀样的,如果⽤这样做的脚本在别⼈电脑上操作,就会看到⿏标经过N次狂奔后,打开了M个窗⼝,却没有点到你要的东西(⽤来整⼈倒不错)。
我们的⽬的是让脚本能有效的在其他⼈电脑上运⾏安装,处理遇到的情况,完成设置或注册等动作,然后结束。
所以制作的原则就是通⽤、精确和可*1、尽量少的⽤⿏标模拟点击的⽅法,实在⽤要也要做到保证点击坐标的可*原因上⾯都说了,但有时不得已⽤到点击坐标时怎么办呢,你先想想吧。
后⾯告诉你我的办法2、尽量少⽤sleep等待语句,⽽换⽤其它准确的时间判断语句有的朋友喜欢⽤sleep在⼀个操作后等待⼀下,来保证脚本的可*性,其实这却是个不可*的做法。
因为每台电脑的性能有所差异,在不同的情况下也有差异,在你的电脑上制作脚本时要停顿5秒的,在⼀台第旧的电脑上可能要等待20秒也不⼀定。
AutoIt⾥是有解决⽅法的,⽐如winwaitactive,winwaitclose等,再不⾏⾃⼰写判断啦!3、尽量考虑可能出现的情况有的程序在安装时会提出⼀些要求,⽐如需要更新什么⽂件或进⾏什么操作,⽽且未必在每台电脑上安装时都会出现,这就要我们在做好脚本后多在不同环境测试⼀下,考虑到⼀些常见的问题⼆、如何学好AutoIt对于AutoIt我也是个菜鸟,没有什么经验可谈,但我觉得有三点⼀定要做到1、充分利⽤帮助⽂件。
AutoIt的帮助⽂件写的⾮常详细,索引和搜索功能使它在查询上⾮常⽅便,⽽且每个命令最后都有例⼦。
《Let s AutoIt》自由天空AU3零起步教程
《Let s AutoIt》自由天空AU3零起步教程.txt你不能让所有人满意,因为不是所有的人都是人成功人士是—在牛B的路上,一路勃起你以为我会眼睁睁看着你去送死吗?我会闭上眼睛的目录第一章、AutoIt初步.............................................................................. (3)第一节、为什么要学习AutoIt.......................................................................... (4)第一个问题,为什么要学习编程?............................................................................ .. (4)第二个问题,为什么要学习AutoIt?........................................................................ (4)第三个问题,AutoIt的优势在哪里?............................................................................ .. (4)第二节、AutoIt的使用.............................................................................. .. (5)1、AutoIt的安装.............................................................................. . (5)2、我们的第一个AutoIt程序.............................................................................. . (5)3、编译AutoIt程序.............................................................................. .. (6)第二章、AutoIt基础.............................................................................. (7)第一节、常量与变量.............................................................................. .. (8)1、常量.............................................................................. . (8)2、变量.............................................................................. . (8)3、常量与变量共同的使用规则.............................................................................. (9)第二节、数据类型.............................................................................. (9)1、数值型数据.............................................................................. . (9)2、字符(串)型数据.............................................................................. .. (10)3、布尔类型数据.............................................................................. . (10)第三节、算数运算相关.............................................................................. .. (11)1、算数运算符.............................................................................. .. (11)2、算数运算相关函数.............................................................................. .. (11)第三章、顺序结构程序设计.............................................................................. .. (13)第一节、AutoIt中的数据输出.............................................................................. (14)第二节、AutoIt中的数据输入.............................................................................. (16)第三节、AutoIt中的赋值运算.............................................................................. (18)第四节、顺序结构程序设计实例.............................................................................. . (18)第四章、选择结构程序设计.............................................................................. .. (21)第一节、逻辑运算和关系运算.............................................................................. .. (22)第二节、If...Then...Else语句.............................................................................. (23)第三节、Select...Case与Switch...Case语句.............................................................................. .. (25)1、“Select...Case”语句.............................................................................. (25)2、“Switch...Case”语句.............................................................................. . (26)第四节、选择结构程序设计实例.............................................................................. . (27)第五章、循环结构程序设计.............................................................................. .. (30)第一节、“While...WEnd”循环.............................................................................. .. (31)第二节、“Do...Until”循环.............................................................................. . (32)第三节、“For...Next”循环.............................................................................. . (33)第四节、循环的嵌套.............................................................................. (34)第五节、循环结构程序设计实例.............................................................................. . (35)第六章、字符串.............................................................................. . (39)第一节、字符串型数据.............................................................................. .. (40)1、字符串变量的定义与赋值.............................................................................. .. (40)2、字符串数据的连接.............................................................................. (40)3、关于字符串的宏.............................................................................. (41)第二节、ASCII........................................................................... (42)第三节、字符串相关函数.............................................................................. . (43)第七章、数组.............................................................................. .. (46)第一节、一维数组.............................................................................. . (47)第二节、二维数组.............................................................................. . (49)第三节、数组应用实例.............................................................................. .. (50)第八章、函数.............................................................................. .. (58)第一节、函数的一般形式.............................................................................. . (59)1、函数的定义.............................................................................. .. (59)2、函数的参数.............................................................................. .. (59)3、数组做函数参数.............................................................................. (60)4、参数的“值传递”与“址传递”............................................................................ . (61)第二节、变量的作用域.............................................................................. .. (63)1、局部变量.............................................................................. (63)2、全局变量.............................................................................. (63)3、变量的作用范围.............................................................................. (64)第三节、函数的嵌套与递归.............................................................................. (65)1、函数的嵌套.............................................................................. .. (65)2、函数的递归.............................................................................. .. (66)第一节、为什么要学习AutoIt第一个问题,为什么要学习编程?曾经有一句戏说,但颇为经典,“世界上只有两种人,懂二进制的与不懂二进制的”。
autoit轻松入门教程
babysmile56 的 autoit轻松入门教程(一二三四)前言:据我了解需要编写AutoHotkey/AutoIt脚本来实现自动化操作的用户很多都是网管,其它则可能是一些个人用户,他们一般都具有相称的技术水平,而且都希望能借助脚本来完成某些以往需要人工操作的重复性劳动,但限于语言条件上的限制可能对官方的帮助文档有较难理解之处。
为方便读者,我将从最简朴的说起,每个示例尽可能同时给出相应的AHK和AU3版本代码。
本文将尽可能用较通俗的语言描述,但并不打算讲解语法基础,所以不一定适合新手阅读。
文中涉及到的AHK/AU3版本:AutoHotkey1.0.44 .08AutoIt3.1.1一、关于脚本1、什么是脚本?这是个非常“流行”的术语了,通俗而言脚本(script)一般都是指根据某种语法规则编写的具有特定格式的文本文件。
可能大家已经听说过很多种脚本:vbscript、Jscript、PHP、ASP、JSP、CGI、CS脚本,甚至游戏外挂脚本。
这些脚本文件都是可执行文件,可执行相应的操作。
AHK 脚本文件扩展名:*.ahkAU3 脚本文件扩展名:*.au32、脚本和程序的不同?严格来说,所谓“程序”就是指以各种编程语言(比如说C/C++/C#/Delphi)编写、由编译器编译好后的二进制文件,一般就是机器代码,可由系统执行。
而脚本则是只是些纯文本文件,包含了各种定义好的命令,这一点很像批处理文件。
这样,我们得出一个简朴的结论,那就是用户一般无法获得“程序”的源代码,我们只能进行反汇编把它逆向还原为汇编语言代码(或其它),当然,也有些“程序”是可以获得源代码的(比如Java);脚本则是用户可直接查看的代码文件,而AHK/AU3则提供了把脚本文件“转换”成exe文件的方法。
3、脚本如何运行?脚本是“解释性”的语言,它的运行依靠一个“解释器”,由这个解释器来“翻译并解释”脚本的每条命令(或者说代码),然后执行相应操作。
AUTOIT汉化版312931(实操中文教程)
AUTOIT汉化版3.2.9.3.1(实操中文教程)一、简介3.2.9.1汉化更新:[*]修正帮助文件。
官方更新:[+]新增: SendKeepActive().[+]新增: 新增更多的 ControlTreeView() .[*]修正: GUICtrlSetImage() 设置大小问题(从3.2.4.9.开始) (Thanks Wooltown)[*]修正: GUICtrlCreateListView() 没有栏目. (Thanks gafrost)[*]修正: _GUICtrlListViewInsertColumn() 过后 _GUICtrlListViewDeleteColumn() 第一个栏目是ListView 控件.(Thanks Antiec, gafrost)(注:可能说的是返回的句柄不对.)AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。
通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化任务,而这是其它语言所无法做到或尚无可靠方法实现的(比如VBScript和SendKeys)。
AutoIt 最初是为PC(个人电脑)的“批量处理”而设计,用于对数千台PC进行(同样的)配置,不过随着v3版本的到来它也很适合用于家庭自动化和编写用以完成重复性任务的脚本。
AutoIt 可以做的事:运行 Windows 及 DOS 下的可执行文件模拟键击动作(支持大多数的键盘布局)模拟鼠标移动和点击动作。
对窗口进行移动、调整大小和其它操作。
直接与窗口的“控件“交互(设置/获取文字、移动、关闭,等等)配合剪贴板进行剪切/粘贴文本操作对注册表进行操作手把手教你写au3程序-第一章入门引子应一位朋友要求,他想学编程,但一直不知道如何开始,这里我就做一系统教程,引导大家进入au 3强大的程序世界(脚本),目的是让每一位渴望个性的网管朋友,都写出为网吧专用的小程序。
AutoIt入门教程
crossdoor
Page 7
6/10/2010
AutoIt 入门与提高
算只能用于区分字符串大小写的比较 . <> 判断两个值是否不相等 . 比较会对字符串大小写敏感 . 要比较一个大小写敏感的不 等于操作使用 Not ("string1" == "string2") 判断第一个值 (左边 ) 是否大于第二个值 (右边 ).Strings are compared lexicographically even if the contents of the string happen to be numeric. 判 断 第 一 个 值 ( 左 边 ) 是 否 大 于 或 等 于 第 二 个 值 ( 右 边 ).Strings are compared lexicographically even if the contents of the string happen to be numeric. 判断第一个值 (左边 )是否小于第二个值 (右边 ). Strings are compared lexicographically even if the contents of the string happen to be numeric. 判 断 第 一 个 值 ( 左 边 ) 是 否 小 于 或 等 于 第 二 个 值 ( 右 边 ). Strings are compared lexicographically even if the contents of tቤተ መጻሕፍቲ ባይዱe string happen to be numeric. 逻辑运算 AND 逻辑与运算 . 如 If $var = 5 AND $var2 > 6 Then 变量 $var2 的值大于 6 则条件成立 ) 逻辑或运算 . 如 If $var = 5 OR $var2 > 6 Then (如果变量 $var 的值为 5 而且 (如果变量 $var 的值为 5 或者变
AU3教程
第一章、AutoIt 初步 (3)第一节、为什么要学习 AutoIt (3)第一个问题,为什么要学习编程? (3)第二个问题,为什么要学习 AutoIt? (3)第三个问题,AutoIt 的优势在哪里? (3)第二节、AutoIt 的使用 (4)1、AutoIt 的安装 (4)2、我们的第一个 AutoIt 程序 (4)3、编译 AutoIt 程序 (5)第二章、AutoIt 基础 (5)第一节、常量与变量 (5)1、常量 (5)2、变量 (6)3、常量与变量共同的使用规则 (6)第二节、数据类型 (7)1、数值型数据 (7)2、字符(串)型数据 (7)3、布尔类型数据 (7)第三节、算数运算相关 (8)1、算数运算符 (8)2、算数运算相关函数 (8)第三章、顺序结构程序设计 (9)第一节、AutoIt 中的数据输出 (9)第二节、AutoIt 中的数据输入 (12)第三节、AutoIt 中的赋值运算 (14)第四节、顺序结构程序设计实例 (14)第四章、选择结构程序设计 (16)第一节、逻辑运算和关系运算 (16)第二节、If...Then...Else语句 . (17)第三节、Select...Case与 Switch...Case 语句. (19)1、“Select...Case”语句.. (19)2、“Switch...Case”语句. (20)第四节、选择结构程序设计实例 (21)第五章、循环结构程序设计 (23)第一节、“While...WEnd”循环 . (24)第二节、“Do...U ntil”循环.. (25)第三节、“For...Next”循环.. (26)第四节、循环的嵌套 (28)第五节、循环结构程序设计实例 (29)第六章、字符串 (31)第一节、字符串型数据 (31)1、字符串变量的定义与赋值 (32)2、字符串数据的连接 (32)3、关于字符串的宏 (33)第二节、ASCII (34)第三节、字符串相关函数 (35)第七章、数组 (37)第一节、一维数组 (37)第二节、二维数组 (39)第三节、数组应用实例 (40)第八章、函数 (48)第一节、函数的一般形式 (48)1、函数的定义 (48)2、函数的参数 (48)3、数组做函数参数 (49)4、参数的“值传递”与“址传递” (51)第二节、变量的作用域 (52)1、局部变量 (52)2、全局变量 (52)3、变量的作用范围 (53)第三节、函数的嵌套与递归 (54)1、函数的嵌套 (54)2、函数的递归 (55)第一章、AutoIt 初步在本章中,我们将与您一起初步接触 AutoIt。
AutoIt v3(AU3) 基础教程
au3入门教程自动化
3、运算符、宏
AutoIt 支持以下这些赋值符号,数学运算符,比较和逻辑运算符。
运算符 详细信息 赋值运算 = += -= *= /= &= 赋值 ,如 $var = 5 (赋值数字 5 到 $var) (添加 1 到 $var)
自增赋值 ,如 $var += 1 自减赋值 . 自乘赋值 . 自除赋值 .
crossdoorpage156102010autoit入门与提高autoit入门与提高aauuttooiitt入入门门与与提提高高5函数5函数55函函数数autoit内置了超过200个函数而且还有大量的udf函数udfuserdefinedfunction即用户自定义函数除了这些函数之外我们还可以把脚本中需要在多处重复使用的代码写成自定义函数
AutoIt 入门与提高
int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; } WNDCLASS, *pWNDCLASS; 一个定义好的数据结构是没有储存数据的,它就像是一个制作好但是还未使 用的钱包,里面虽然有很多可以放东西的口袋,但却全是空的。 至于数据结构的具体用法,后面的教程中我会参杂在其它的例子中一并介 绍。
连续赋值 . 如 $var = "one" , 然后 $var &= 10 数学运算
($var 的结果为 "one10")
+ * / & ^
使两个数相加. 如 10 + 20 使两个数相减.如 20 - 10 使两个数相乘.如 20 * 10 使两个数相除.如 20 / 10
autoit入门教程小结
据我了解需要编写AutoHotkey/AutoIt脚本来实现自动化操作的用户很多都是网管,其它则可能是一些个人用户,他们一般都具有相当的技术水平,而且都希望能借助脚本来完成某些以往需要人工操作的重复性劳动,但限于语言条件上的限制可能对官方的帮助文档有较难理解之处。
为方便读者,我将从最简单的说起,每个示例尽可能同时给出相应的AHK和AU3版本代码。
本文将尽可能用较通俗的语言描述,但并不打算讲解语法基础,所以不一定适合新手阅读。
文中涉及到的AHK/AU3版本:AutoHotkey1.0.44 .08AutoIt3.1.1一、关于脚本1、什么是脚本?这是个非常“流行”的术语了,通俗而言脚本(Script)一般都是指根据某种语法规则编写的具有特定格式的文本文件。
可能大家已经听说过很多种脚本:VBScript、JScript、PHP、ASP、JSP、CGI、CS脚本,甚至游戏外挂脚本。
这些脚本文件都是可执行文件,可执行相应的操作。
AHK 脚本文件扩展名:*.ahkAU3 脚本文件扩展名:*.au32、脚本和程序的不同?严格来说,所谓“程序”就是指以各种编程语言(比如说C/C++/C#/Delphi)编写、由编译器编译好后的二进制文件,一般就是机器代码,可由系统执行。
而脚本则是只是些纯文本文件,包含了各种定义好的命令,这一点很像批处理文件。
这样,我们得出一个简单的结论,那就是用户一般无法获得“程序”的源代码,我们只能进行反汇编把它逆向还原为汇编语言代码(或其它),当然,也有些“程序” 是可以获得源代码的(比如Java);脚本则是用户可直接查看的代码文件,而AHK/AU3则提供了把脚本文件“转换”成exe文件的方法。
3、脚本如何运行?脚本是“解释性”的语言,它的运行依赖一个“解释器”,由这个解释器来“翻译并解释”脚本的每条命令(或者说代码),然后执行相应操作。
如果不严格定义的话,HTML和Java都可以认为是解释性语言。
autoit中文教程
AUTOIT中文教程丿死神、绝恋 整理制作上篇初识AU32Ⅰ什么是AU3什么是au3呢!我一开始也有这种疑问,呵呵。
后来经过一段时间的学习与摸索。
觉得AU3就是一个介于编程语言与脚本之间的东东。
首先,她可以用来编写小程序(这不是废话吗,呵呵),她可以编写出带图形界面的程序,并编译成独立运行的可执行文件。
其次呢,她是脚本,常见的脚本诸如vbs,P处理(我一直把p处理认为是一种脚本),虽然也够强大,但是也没有弄出图形界面的美观吧。
AU3就可以,她可以通过cmdline调用和执行任何dos命令,同时界面上也给用户DIY提供了更大的空间,譬如说她可以添加flash、图片、视频等。
呵呵。
够强大吧。
AU3是一种带basic风格的脚本,也就是说如果你之前有学习vb或者vbs之类的语言,那么你就可以快速上手这种语言。
下面援引官方说明的一段话,看看我们的AU3能干什么吧。
AutoIt可以做的事:•简单易懂的类BASIC表达式•模拟键盘,鼠标动作事件•操作窗口与进程•直接与窗口的"标准控件"交互(设置/获取文字,移动,关闭,等等)•脚本可以编译为标准可执行文件•创建用户图形界面接口(GUI)•COM支持•正则表达式•直接调用外部DLL和Windows API函数•程序运行为功能(让程序运行于其它账户)•详细易懂的帮助文件于基于社区的支持论坛•完全兼容于Windows2000/XP/2003/Vista/2008•Unicode与64位运算支持•高精度,易使用的数学运算•可以运行于Windows Vista Account Control(UAC)AutoIt被设计得尽可能小,并且不用依赖外部DLL文件或添加注册表项目即可独立运行.也可以安全的成为服务运行.脚本可以使用Aut2Exe编译为可独立运行的文件此外我们还设计了AutoIt的ActiveX和DLL版本——AutoItX这是个组件化的语言(COM同一DLL文件中的标准DLL函数).AutoItX将使得您可以加入一些AutoIt独有的特性到您最常用的脚本语言或程序设计语言中去!呵呵。
AutoIT V3教程
介绍AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。
通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化任务,而这是其它语言所无法做到或尚无可靠方法实现的(比如VBScript和SendKeys)。
AutoIt 最初是为PC(个人电脑)的“批量处理”而设计,用于对数千台PC进行(同样的)配置,不过随着v3版本的到来它也很适合用于家庭自动化和编写用以完成重复性任务的脚本。
AutoIt 可以做的事:∙运行Windows 及DOS 下的可执行文件∙模拟键击动作(支持大多数的键盘布局)∙模拟鼠标移动和点击动作。
∙对窗口进行移动、调整大小和其它操作。
∙直接与窗口的“控件“交互(设置/获取文字、移动、关闭,等等)∙配合剪贴板进行剪切/粘贴文本操作∙对注册表进行操作不同于 AutoIt v2,新的v3版本含有更多的标准语法——类似于VBScript和BASIC——而且现在支持更复杂的表达式、用户函数、循环以及脚本编写老手们所期待的其它所有内容。
正如前一个版本一样,AutoIt 被设计得尽可能小(大约115KB)并且不用依赖外部DLL文件或添加注册表项目即可独立运行。
使用 Aut2Exe 这个工具即可把脚本文件编译为可独立运行的文件。
此外我们还更新了 AutoIt 的 ActiveX 和 DLL 版本——AutoItX,与v2版本不同的是,这是个组件化的语言(COM 同一DLL文件中的标准DLL函数)。
AutoItX 将使得您可以加入一些AutoIt 独有的特性到您最常用的脚本语言或程序设计语言中去!请查看 AutoItX 的帮助文档(开始 \ 所有程序 \ AutoIt v3 \ Extras \ AutoItX \ AutoItX Help File)以获得更多信息和示例。
最重要的是,AutoIt 将继续是免费的——不过如果您打算支持我们花在此工程和网站主机上的时间、费用以及所作努力的话,那么您可以到AutoIt 的主页上进行捐赠。
火龙果软件-AutoIt3_脚本函数用法中文说明
AutoIt3 脚本函数用法中文说明系统环境变量类EnvUpdate ( );更新环境变量EnvGet ( "变量名称" );取环境变量ClipGet ( );取剪辑板文本EnvSet ( "变量名称" [, "值"] );置环境变量ClipPut ( "文本" );置剪辑板文本{文件,目录,磁盘管理}IniRead ("文件名", "功能区", "关键字", "缺省值" );Ini文件读关键字的值IniDelete ( "文件名", "功能区", "关键字" );Ini文件删除关键字IniWrite ( "文件名", "功能区", "关键字", "值");Ini文件写关键字的值FileInstall ( "源文件", "目标文件" [,参数] );安装文件FileFindFirstFile ( "文件名" )FileFindNextFile ( 文件号);查找文件(继续)FileRecycle ( "源文件" );放入回收站FileChangeDir ( "目录" );改变当前目录FileCreateShortcut ( "文件名", "快捷方式名" [, "工作目录", "args", "desc", "图标", "热键"] ) ;建立快捷方式DirCreate ( "目录" );目录创建DirCopy ( "源目录", "目标目录" [,参数] );目录复制DirRemove ( "目录" [,参数] );目录删除DirMove ( "源目录", "目标目录" [,参数] );目录移动DriveGetDrive ( "类别" );驱动器查找FileGetLongName ( "完整路径和文件名" );取长文件名DriveSpaceTotal ( "路径" );取磁盘空间DriveSpaceFree ( "路径" );取磁盘剩余空间FileGetShortName ( "完整路径和文件名" );取短文件名DriveGetLabel ( "路径" );取驱动器卷标DriveGetType ( "路径" );取驱动器类型DriveGetFileSystem ( "路径" );取驱动器文件格式DriveGetSerial ( "路径" );取驱动器序列号DriveStatus ( "路径" );取驱动器状态FileGetVersion ( "文件名" );取文件版本FileGetSize ( "文件名" );取文件大小FileGetTime ( "文件名" [,选项] );取文件日期FileGetAttrib ( "文件名" );取文件属性FileSaveDialog( "标题", "初始目录", "文件类型" [,选项] ) ;文件保存对话框FileOpen ( "文件名",打开方式);文件打开FileOpenDialog ( "标题", "初始目录", "文件类型" [,选项] ) ;文件打开对话框FileRead ( 文件号或"文件名",字符个数);文件读FileReadLine ( 文件号或"文件名" [,行号] );文件读行FileCopy ( "源文件", "目标文件" [, 参数] );文件复制FileClose ( 文件号);文件关闭FileSelectFolder ( "提示文本", "根目录",参数);文件夹选择FileDelete ( "路径" );文件删除FileExists ( "路径" );文件是否存在FileWrite ( 文件号或"文件名" , "内容" );文件写FileWriteLine ( 文件号或"文件名" , "内容");文件写行FileMove ( "源文件", "目标文件" [,参数] );文件移动DriveSetLabel ( "路径", "卷标名" );置驱动器卷标FileSetTime ( "文件", "日期", 选项[,参数] );置文件日期FileSetAttrib ( "文件", "+-RASHNOT" [,参数] );置文件属性键盘控制类Send ( "按键" [,参数] );发送HotKeySet ( "热键" [, "自定义功能函数"] );置热键{鼠标控制}MouseGetCursor ( );取鼠标指针类型MouseGetPos ( );取鼠标坐标MouseDown ( "按键" );鼠标按下MouseClickDrag ( "按键", 第一点横坐标, 第一点纵坐标, 第二点横坐标, 第二点纵坐标[,速度] ) ;鼠标按住拖动MouseClick ( "按键" [,横坐标,纵坐标[,次数[,速度]]] );鼠标点击MouseUp ( "按键" );鼠标放开MouseMove ( 横坐标,纵坐标[,速度] );鼠标移动{数学函数}Exp ( n );e的n次平方BitNOT ( 数值);非运算BitOR ( 值1,值2 );或运算Log ( 数字或数学表达式);取对数ACos (数字或数学表达式);取反余弦ATan ( 数字或数学表达式);取反正切ASin ( 数字或数学表达式);取反正弦Abs (数字或数学表达式);取绝对值Mod ( 值1,值2 );取模数Sqrt ( 数字或数学表达式);取平方根Random ( [[最小值,]最大值] );取随机数Cos (数字或数学表达式);取余弦Tan ( 数字或数学表达式);取正切Sin ( 数字或数学表达式);取正弦Round (数字或数学表达式[,小数点后保留位数] );四舍五入BitXOR ( 值1,值2 );位或运算BitShift ( 值,移动数);位移运算BitAND ( 值1,值2 );与运算{信息框,对话框}ProgressOn ( "标题", "主文本" [, "子文本" [, 横坐标[, 纵坐标[,选项]]]] );打开进度条窗口ProgressOff ( );关闭进度条窗口SplashOff ( );关闭置顶窗口ProgressSet ( 进度值[, "子文本" [, "主文本"]] );进度设置InputBox ( "标题", "提示" [, "缺省文本" [, "密码符号" [,宽度,高度[,左边,右边[,等待时间]]]]] );输入框MsgBox ( 按钮参数, "标题", "信息文本" [,等待时间] );信息框SplashImageOn ( "标题", "图像文件名" [,宽度[,高度[,横坐标[,纵坐标[,选项]]]]] );置顶图像窗口SplashTextOn ( "标题","文本"[,宽度[,高度[,横坐标[,纵坐标[,选项[,"字体名称"[,"字体大小"[,"字体重量"]]]]]]]] );置顶文本窗口ToolTip ( "提示文本" [,横坐标,纵坐标] );置提示文本TrayTip ( "标题", "提示文本", 等待时间[,图标选项] );置托盘气泡提示(2000/xp){系统函数}SoundPlay ( "文件名" [,等待方式] );播放声音Call ( "自定义功能函数" );调用自定义功能函数CDTray ( "盘符", "开关命令" );光驱开关AdlibEnable ( "自定义功能函数" [,间隔时间] );激活意外窗口处理TimerStop ( 时间标志);计时结束TimerStart ( );计时开始Exit (0);结束AdlibDisable ( );禁止意外窗口处理BlockInput ( 参数);禁止用户输入Break ( 参数);禁止用户退出MemGetStats ( );取内存状态AutoItWinGetTitle ( );取系统窗口标题PixelGetRGB(横坐标,纵坐标);取像素点RGB三色PixelGetColor ( 横坐标, 纵坐标);取像素点颜色PixelSearch ( 左边, 顶边, 右边, 底边, 颜色值[, shade-variation] [,间隔像素数]] ) ;搜索颜色URLDownloadToFile ( "连接地址及文件名", "存储到的文件名" );下载文件SetError ( 值);置变量@errorAutoItWinSetTitle ( "新标题" );置系统窗口标题SoundSetWaveVolume ( 音量大小);置音量ProcessWait ( "进程" [,等待时间] );等待进程存在ProcessWaitClose ("进程" [,等待时间] );等待进程关闭ProcessClose ( "进程" );关闭进程Shutdown ( 关机方式);关机ProcessExists ( "进程" );进程是否存在Sleep ( 时间);睡眠/暂停运行RunAsSet ( ["用户名", "domain", "密码"] );以别人身份登录运行RunWait(@ComSpec& " /c " & 'DOS命令行', "",参数) ;运行DOS命令RunWait ( "文件名" [, "工作目录" [, 参数]] );运行并等待结束Run ( "文件名" [, "工作目录" [,参数]] );运行程序注册表管理类RegRead ( "键路径", "键名" );读键值RegDelete ( "键路径" [, "键名"] );删除键RegWrite ( "键路径", "键名", "类型", 值);写键值{字符串管理}StringFormat ( "格式", $var1 [, ... $var32] );格式化字符串StringLen ( "字符串" );取长度StringRight ( "字符串",字符数);取右边StringMid ( "字符串",开始位置,字符数);取中间StringLeft ( "字符串",字符数);取左边StringStripCR ( "字符串" );删除回车符StringStripWS ( "字符串",参数)StringTrimRight ( "字符串",字符数);删除右边StringTrimLeft ( "字符串",字符数);删除左边StringIsASCII ( "字符串" );是否为ASCIIStringIsDigit ( "字符串" );是否为阿拉伯数字StringIsUpper ( "字符串" );是否为大写StringIsFloat ( "字符串" );是否为浮点小数StringIsSpace ( "字符串" );是否为空StringIsXDigit ( "字符串" );是否为十六进制字符StringIsAlNum ( "字符串" );是否为数字StringIsLower ( "string" );是否为小写StringIsInt ( "字符串" );是否为整数StringIsAlpha ( "字符串" );是否为字母StringAddCR ( "字符串" );添加换行符StringReplace ( "字符串", "查找的字符串", "替换后的字符串" [,数量[,区分大小写]] ) ;文本替换StringUpper ( "字符串" );转换为大写StringLower ( "字符串" );转换为小写StringInStr ( "字符串", "字符" [,大小写] );字符包含StringSplit ( "字符串", "参考符" );字符串分离{变量与转换函数}IsDeclared ( 变量);变量是否被声明Asc ( "字符" );取Asc码Eval ( 变量或表达式);取变量值UBound ( 数组名[,维数] );取数组大小Int ( 小数或表达式);取整Chr ( ASC码);取字符IsAdmin ( );是否为管理员IsNumber ( 变量);是否为数字IsArray ( 变量);是否为数组IsFloat ( 变量或数值);是否为小数IsInt ( 变量或数值);是否为整数IsString ( 变量);是否为字符Dec ( "十六进制" );转换为十进制Hex ( 十进制数, 长度);转换为十六进制Number ( 表达式);转换为数字String ( 表达式);转换为字符窗口管理类WinExists ( "标题" [, "文字"] );窗口是否存在WinActive ( "标题" [, "文字"] );窗口是否激活WinSetOnTop ( "标题", "文字", 参数);窗口置顶WinWait ( "标题" [, "文字" [,等待时间]] );等待窗口出现WinWaitClose ( "标题" [, "文字" [,等待时间]] );等待窗口关闭WinWaitActive ( "标题" [, "文字" [,等待时间]] );等待窗口激活WinWaitNotActive ( "标题" [, "文字" [,等待时间]] );等待窗口取消激活状态WinMenuSelectItem ( "标题","文字","菜单项1" [,"菜单项2" [,"菜单项3"……]] );调用菜单WinClose ( "标题" [, "文字"] );关闭窗口WinMinimizeAllUndo ( );恢复“全部最小化”的窗口WinActivate ( "标题" [, "文字"] );激活窗口WinKill ( "标题" [, "文字"] );强制关闭窗口WinGetTitle ( "标题" [, "文字"] );取窗口标题WinGetHandle ( "标题" [, "文字"] );取窗口句柄WinGetClientSize ( "标题" [, "文字"] );取窗口客户区大小WinGetClassList ( "标题" [, "文字"] );取窗口类列表WinGetText ( "标题" [, "文字"] );取窗口文字WinGetCaretPos ( );取窗口中控件坐标WinGetState ( "标题" [, "文字"] );取窗口状态WinGetPos ( "标题" [, "文字"] );取窗口坐标WinMinimizeAll ( );全部最小化WinMove ( "标题", "文字",横坐标,纵坐标[,宽度[,高度]] );移动窗口WinSetTitle ( "标题", "文字", "新标题" );置窗口标题WinSetState ( "标题", "文字" ,参数);置窗口状态{控制管理}ControlCommand ( "窗口标题", "窗口文字", "控件类名称", "命令", "选项" ) ;发送控制命令ControlSend ( "窗口标题", "窗口文字", "控件类名称", "文本" [,参数] );发送文本到控件ControlDisable ( "窗口标题", "窗口文字", "控件类名称" );禁止控件ControlGetFocus ( "窗口标题" [, "窗口文字"] );取焦点控件的类名称ControlGetPos ( "窗口标题", "窗口文字", "控件类名称" );取控件位置ControlGetText ( "窗口标题", "窗口文字", "控件类名称" );取控件文字StatusbarGetText ( "窗口标题" [, "窗口文字" [, 状态栏部分]] );取状态栏文本ControlSetText ( "窗口标题", "窗口文字", "控件类名称","新文本" );设置控件文本ControlClick ( "窗口标题", "窗口文字", "控件类名称" [,鼠标按键] [,点击次数]] );鼠标点击控件ControlShow ("窗口标题", "窗口文字", "控件类名称");显示控件ControlMove ( "窗口标题", "窗口文字", "控件类名称",横坐标,纵坐标[,宽度[,高度]] ) ;移动控件ControlHide ("窗口标题", "窗口文字", "控件类名称");隐藏控件ControlEnable ( "窗口标题", "窗口文字", "控件类名称" );允许控进ControlFocus ( "窗口标题", "窗口文字", "控件类名称" );置焦点系统设置类AutoItSetOption ( "MustDeclareVars",参数);变量是否预先声明AutoItSetOption ( "WinTitleMatchMode",参数);标题匹配方式AutoItSetOption ( "WinWaitDelay",参数);窗口等待延迟AutoItSetOption ( "SendAttachMode",参数);发送跟随模式AutoItSetOption ( "SendKeyDelay",参数);发送延迟AutoItSetOption ( "CaretCoordMode",参数);符号坐标匹配方式AutoItSetOption ( "SendCapslockMode",参数);恢复大小写状态AutoItSetOption ( "WinDetectHiddenText",参数);检测隐藏文字AutoItSetOption ( "WinSearchChildren",参数);检测子窗口AutoItSetOption ( "SendKeyDownDelay",参数);键盘按下延迟AutoItSetOption ( "MouseClickDownDelay",参数);鼠标按下延迟AutoItSetOption ( "MouseClickDelay",参数);鼠标单击延迟AutoItSetOption ( "MouseClickDragDelay",参数);鼠标拖动延迟AutoItSetOption ( "MouseCoordMode",参数);鼠标坐标匹配方式AutoItSetOption ( "ExpandEnvStrings",参数);特殊符号扩展AutoItSetOption ( "TrayIconDebug",参数);托盘代码提示AutoItSetOption ( "WinTextMatchMode",参数);文字匹配方式AutoItSetOption ( "PixelCoordMode",参数);像素点坐标匹配方式AutoItSetOption ( "TrayIconHide",参数);隐藏托盘AutoItSetOption ( "RunErrorsFatal",参数);遇错终止GUISetOnEvent为指定控件的点击行为定义一个用户函数。
AU3初学者必看的教程
ShellExecute("Notepad.exe")
ShellExecute("test.txt", "", @ScriptDir, "edit")
ShellExecute("")
ShellExecute("C:\boot.ini", "", "", "print")
_ServGetDetails() 服务详情
_ServGetState() 服务状态
_ServListInstalled() 服务列表
_ServPause() 暂停服务
_ServResume() 服务改名
_SerSetState() 设置服务状态
/viewthread.php?tid=871&extra=page%3D1
;创建一个主键、子键或值项。
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Test", "TestKey", "REG_SZ", "Hello this is a test")
;删除注册表指定的值 (注意:这里删除的是键项,而不是键值。)
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE", "TestKey")
Q2.4 多层DOS命令如何用?如netsh,diskpart等。
$dns="192.168.0.1"
RunWait(@ComSpec & ' /C netsh -c interface ip set dns 本地连接 source=static addr="' & $dns &'" register=PRIMARY ',"", @SW_HIDE )
《Let s AutoIt》自由天空AU3零起步教程
第三节、AutoIt中的赋值运算............................................................................................................18
第一节、为什么要学习AutoIt..............................................................................................................4
第一个问题,为什么要学习编程?.............................................................................................4
第五章、循环结构程序设计.......................................................................................................................30
第一节、“While…WEnd”循环....................................................................31
第二节、AutoIt的使用..........................................................................................................................5
autoit使用方法
autoit使用方法AutoIt一款功能强大的、可以自动模拟用户进行操作的Windows 本语言。
它可以用来自动运行程序和模拟用户的操作,可以实现大量重复性工作的自动化,可以利用脚本语言的强大功能,来实现复杂的系统管理任务和多种功能。
AutoIt够使用文本字符串来表示滑鼠和键盘操作,它简单易用而且易于学习。
它在Windows应用程序开发中,可以用来对被测应用程序进行操作,可以帮助测试人员发现潜在错误。
下面介绍AutoIt的使用方法。
1.安装AutoIt要使用AutoIt脚本,首先需要安装AutoIt编译器。
可以从AutoIt 官方网站下载安装,安装后就可以开始使用AutoIt了。
2.创建脚本文件打开AutoIt编辑器,创建脚本文件,脚本文件可以是.au3格式,也可以是文本文件,只要文件后缀名为.au3就行。
3.编写脚本在AutoIt编辑器中,可以使用AutoIt语法进行编写脚本。
AutoIt 支持使用AutoIt脚本语言来模拟用户操作,它支持诸如发送键盘输入、模拟鼠标操作等操作。
4.编译脚本编写完脚本后,就可以编译执行了。
在AutoIt编辑器中,可以点击文件菜单中的“编译”选项,编译脚本文件生成可执行文件。
5.执行脚本可以在AutoIt编辑器中运行脚本,也可以使用命令行窗口来执行,命令格式为:AutoIt3.exe [filename] 。
执行完脚本后,就可以看到执行结果了。
以上就是AutoIt的使用方法,AutoIt可以大大提高工作效率,可以将重复性的任务自动化,可以实现自动模拟用户操作,有助于发现系统潜在错误,AutoIt实用性极强,值得广泛使用。
autoit3非标准控件通过相对坐标定位点击
autoit3非标准控件通过相对坐标定位点击au3模拟鼠标点击之MouseClickMouseClick:执行鼠标点击操作MouseClick缺点之一:受电脑屏幕大小和分辨率的影响,可使用WinMove固定窗口位置和大增加稳定性。
MouseClick缺点之二:用户鼠标和键盘的移动和程序互相影响,可使用BlockInput()禁止用户输入。
MouseClick使用方法MouseClick ( “按钮” [, X坐标, Y坐标[, 点击次数[, 速度]]] )按钮:”left”(左键),”right”(右键),”middle”(中键),”main”(主键),”menu”(菜单键),”primary”(主要按钮),”secondary”(次要按钮),默认点击左键。
X坐标, Y坐标:[可选] 鼠标移动到屏幕 X/Y坐标处执行点击,若两者都留空则使用当前位置。
点击次数:[可选] 点击鼠标按钮的次数,默认值为1。
速度:[可选] 鼠标移动速度,可设数值范围在1(最快)和100(最慢)之间.若设置速度为0 则立即移动鼠标到指定位置.默认速度为10.返回1表示点击成功,返回0点击失败。
au3模拟鼠标点击示例:MouseClick(“left”) ;点击鼠标左键MouseClick(“left”, 300, 600, 2) ;在屏幕坐标300,600处双击鼠标左键MouseClick(“left”, 300, 600, 2) ;立即双击屏幕坐标300,600处获取控件坐标后使用MouseClick点击:Opt(“MouseCoordMode”, 2) ;设置鼠标函数的坐标参照,相对当前激活窗口客户区坐标$a=ControlGetPos(“计算器”,””,”Button21″) ;获取指定控件相对其窗口的坐标位置和大小MouseClick(“left”,$a[0],$a[1])对于一些非Windows标准控件,窗口信息工具无法很好地识别,才需要通过坐标用MouseClick,而且要用相对坐标,即选项控件相对于窗口左上角的坐标。
autoit3易语言调用实例
autoit3易语言调用实例AutoIt3易语言调用实例AutoIt3是一种编程语言,旨在简化Windows操作系统上的自动化任务。
它提供了易于理解和使用的语法,使得用户可以编写脚本来自动执行各种任务,包括模拟鼠标和键盘操作、处理文件、窗口管理等。
而易语言是一种基于图形化界面的编程语言,也被广泛用于Windows环境下的自动化编程。
在本文中,我们将使用AutoIt3调用易语言的实例来展示它们之间的结合使用。
我们将逐步介绍如何设置和调用易语言的函数,并演示一个简单的例子来说明其工作原理。
首先,我们需要在AutoIt3脚本中设置外部函数声明,以便能够调用易语言的函数。
为此,我们可以使用AutoIt3提供的"DLLCall"函数。
以下是设置外部函数声明的示例代码段:; 设置外部函数声明; DLLCall("dll 文件名", "返回类型", "函数名", "参数类型", "参数1", "参数类型", "参数2"...)DLLCall("easy.dll", "int", "AddNum", "int", num1, "int", num2)在上述示例中,我们使用DLLCall函数来调用易语言动态链接库(DLL)中的AddNum函数。
我们将需要提供一个DLL文件和函数名以及所需的参数类型和值。
接下来,我们需要创建一个易语言动态链接库(DLL)以供AutoIt3调用。
易语言提供了一个“导出函数表”模块,可以将函数导出为DLL。
以下是一个示例易语言代码段,用于将一个简单的加法函数AddNum导出为DLL:区块导出函数表导出函数AddNum, "int", "int", "int"结束区块公用函数AddNum (num1, num2)返回num1 + num2结束函数在上述示例中,我们首先使用“导出函数表”模块将AddNum 函数导出为DLL。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WinWaitActive, 欢迎, 欢迎使用XSoft安装程序
Send, !n
WinWaitActive, 选择安装目标文件夹, 请选择
Send, !n
WinWaitActive, 已准备好安装所需信息, 点击[下一步]开始进行安装
Send, !n
WinWaitActive, 安装完成, 点击[完成]退出安装程序
打开窗口信息工具之后再点击记事本的窗口来激活记事本(使其变为活动窗口),此时窗口信息工具将显示记事本窗口的有关信息。我们现在需要获得的是窗口的标题。
在AutoIt Info Tool的窗口中选中窗口标题名然后按下CTRL-C以复制名称到剪贴板——这样我们就可以在脚本中直接粘贴标题而不怕打错字了。
如果您想要在字串里面使用双引号,那么您必须使用两次双引号。也就是说每次您要使用引号就应该使用两对。例如,如果您想要设置一个变量为这样的字串:此句中"这个词"是有引号的! 那么您应该做的是:
$var = "此句中""这个词""是有引号的"
or use single quotes instead:
下一步是自动按下ALT-N 来选择 否(N) 这个按钮(窗口中带有下划线的字母通常用以说明可以同时按下ALT键及该字母键作为快捷键进行操作)。在 Send 函数中要发送ALT键可使用 ! 来表示
Send("!n")
最后完整的脚本如下:
Run("notepad.exe")
WinWaitActive("无标题 - 记事本")
$var = '此句中"这个词"是有引号的'
运行此脚本——如果一切正常的话则记事本将被打开。
当对应用程序进行自动化操作时AutoIt可检测窗口标题,这样它就能针对该窗口进行操作。很明显,记事本的窗口标题就是 无标题 - 记事本(若OS是英文版则为 Untitled - Notepad)。当应用窗口标题时AutoIt 是区分大小写的,因此您必须确保标题完全一致——最好的方法是使用AutoIt 窗口信息工具来获取窗口标题。此窗口信息工具可在这里找到:开始菜单 \ 所有程序 \ AutoIt v3 \ AutoIt Window Info.
9. 为什么不能使用"我的变量是 $variable"来输出变量?
10. 当我使用Send()命令来输出变量时发生古怪的事情?
11. 返回值和@error究竟有什么不同?
12. 怎样使用热键来退出脚本?
13. 编译脚本时怎样自定义图标?
14. 怎样才能确保只有一个脚本实例运行?
15. 目前AutoIt v3有什么技术上的局限吗?
RunWait("msiexec myfile.msi")
或者用更简单的方法,就是使用“start”命令,它会自动为您处理这个文件:
RunWait(@COMSPEC " /c Start myfile.msi")
回到顶部
7. 为什么当我尝试使用双引号(")的时候会发生错误?
在 运行 了记事本的一个副本之后我们需要等待它的窗口出现并且变成激活窗口才能发送键击动作。使用 WinWaitActive 函数即可实现这一目的。在AutoIt中大多数有关窗口操作的函数都带有窗口标题参数。
在脚本的第二行输入以下代码(按下CTRL-V 或者 编辑 \粘贴 命令来粘贴刚才复制到剪贴板的窗口标题)
常见问题解答 (FAQ)
这一部分将列出在 论坛 里经常会被问到的问题。如果您在此处仍不能找到想要的答案,那么 论坛 将会是您第一个应该去的地方。
问题
1. 为什么AutoIt v2.64的旧版脚本不能运行在v3下呢?
2. v3版本是不是会比前一版本更难掌握?
3. 怎样把v2.64版的脚本文件转换到v3版本?
回到顶部
4. “goto”命令哪去了?
失踪了,呵呵。很不幸。噢不,您不能问为什么——反正就是这样。这就像是在电影 时间劫匪(Time Bandits)结尾时他们在微波发现的那块石头:)
AutoIt v3 以使用现今大部分常用的“循环”为特色,因此Goto不再是必需的。请查看 While, Do, For, ExitLoop, ContinueLoop 以及 Functions 了解更加先进的解决方式:) 另外当你看帮助文档的时候,请查看 循环(loops), 条件语言(conditional statements) 和 functions 部分的说明。我向您保证,一旦您熟悉了它们的用法,实际上您将能在几分钟内用其它语言编写程序。
Send("!n")
WinWaitActive("安装完成", "点击[完成]退出安装程序")
Send("!f")
WinWaitClose("安装完成")
看来还不是太难!:)由于所有的“字串”都附上了引号,因此您再也不用受到由文本头部和尾部的空格引起的问题的困扰了。同时还有个非常爽的好处就是可以支持许多 文本编辑器 ,因此在编写v3脚本时就可以有语法高亮提示了,这使得脚本的编写更加容易。
autoit3入门指南
指南 - 记事本(Notepad)
此页将介绍自动打开记事本程序、输入指定文字、最后关闭记事本的方法。我们假定您已经掌握了在 HelloWorld 指南中介绍的创建并运行AutoIt脚本的方法。
首先创建一个新的脚本文件,命名为 npad.au3 然后打开它进行编辑(按您自己的习惯使用记事本程序或 SciTe 都可以)。
我们首先需要了解的是记事本程序的可执行文件名,也就是 notepad.exe——您可以在开始菜单中寻找记事本的快捷方式图标,从其属性中可获得这一信息(指文件名)。要运行记事本程序,我们使用AutoIt 的 Run 函数。此函数用以运行可执行文件并继续下一步操作。
在脚本的第一行输入以下代码:
Run("notepad.exe")
为了让你开始了解这一点,下面演示在2.64版中Goto的最基本用法,同时也是个无限循环:
:mylabel
...执行一些任务...
...其它任务...
goto, mylabel
v3 版中一个总是“true”的简单的While循环
While 1 = 1
...执行一些任务...
...其它任务...
Send("This is some text.")
WinClose("无标题 - 记事本")
WinWaitActive("记事本", "文件 无标题 的文字已经改变")
Send("!n")
运行此脚本您就会看到记事本打开,接着文字出现,最后被关闭!现在您应该能够应用在此指南中学到的技术进行其它应用程序的自动化操作了。
WinWaitActive("无标题 - 记事本")
在我们可以确定记事本窗口可见之后,下一步就是要键入一些文字了。使用 Send 函数即可实现这一目的。
在脚本中添加以下这行代码。
Send("This is some text.")
整个脚本应该是这样:
Run("notepad.exe")
WinWaitActive("无标题 - 记事本")
WinClose("无标题 - 记事本")
当记事本要关闭时会有一个对话框提示您是否保存文件。使用窗口信息工具获取此对话框的详细信息以便做出回应:)
因此我们需要再添加一行代码等待该对话框变成激活状态(为了和原有的记事本窗口区别开来,我们需要使用窗口文字参数来令函数更加准确):
WinWaitActive("记事本", "文件 无标题 的文字已经改变")
RunWait(@COMSPEC & " /c Dir C:\")
回到顶部
6. 为什么只能用Run()命令来执行.exe 和 .com 文件?对于.msi / .txt 还有其它格式的文件该怎样做呢?
只有少数文件扩展是“可运行”的——通常这些文件是.exe, .bat, .com, .pif。其它类型的文件如.txt 和 .msi实际上是借助其它程序来执行的。比如当您双击“myfile.msi”文件的时候,实际上在后台执行的命令是“msiexec.exe myfile.msi”。所以要在AutoIt中运行一个.msi文件就需要这样做:
1. 为什么AutoIt v2.64的旧版脚本不能运行在v3下呢?
v3 具有不同于v2.64的语言结构。
AutoIt的前一个版本能够很好地应付它被设计用以满足的需求——编写简单的脚本来实现软件的自动安装。但是随着发展人们开始需要使用它来进行更加常见且复杂的脚本任务。旧有的语法和结构虽然还是可以实现这些,但编写起来却非常的困难而且麻烦。于是我们决定要改进 AutoIt 使其更加适合常见的自动化任务并且可以成为更标准且类似BASIC的语言。这就意味着如果您已经懂得脚本语言的编写的话,那么您就能很快地掌握AutoIt v3。
Send, !f
WinWaitClose, 安装完成
; v3 脚本
WinWaitActive("欢迎", "欢迎使用XSoft安装程序")
Send("!n")
WinWaitActive("选择安装目标文件夹", "请选择")