AutoIt学习指南.pdf

所需积分/C币:10 2015-07-21 14:55:32 877KB PDF

AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作。它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。而这是其它语言不可能做到或无可靠方法实现的(例如VBScript和SendKeys).
第一章、 Autoit初步 在本章中,我们将与您一起初步接触 Autoit。您将会获取 些新的概念,并写出您的第个 Autoit程序,迈出您关于 Autoit 的第一步! 《Let' s Autoit》(上)( Autoit编程基础篇 作者: Sky free(隶属自由天空技术论坛) 鸣谢:自由天空技术论坛(www,freeskycd.cn) autoit中文站(www.autoit,netcn) 第一节、为什么要学习 Autoit 第一个问题,为什么要学习编程? 曾经有一句戏说,但颇为经典,“世界上只有两种人,懂二进制的与不懂二进制的”。对于很多 从事I业但非从事编程工作的人来说,编程到底有多重要?不少朋友认为并不重要,当然,包括我 在起初时也有这个感觉。 人总有属于自己的各种想法,想在计算机中实现这些想法,就必须会编程。因为,只有编程可 以最好的驾驭一台计算机,会编程可以让这个铁疙瘩死心塌地的为您做各种您想做的事。 而如果一个人有自己独特的想法,还能将这些独特的想法以编程的形式应用于计算机中,那么 这个人就会川始与众多“不懂二进制”的人渐渐的不同。而后,随着这种“不同”的慢慢深化,最 终这个“懂二进制”的人的存在意义将与“不懂二进制”的人有很人不同 在巾场人才竞争日益激烈的今天,多一个存在的理由,就是多一份生存的机会 第二个问题,为什么要学习 Autoit? 我曾经见过不少朋友在选择编程语言时十分的慎重,经常耗费一星期甚至一个月来比较是C++ 好还是C#好,是JAVA好还是ⅤBNET好。当然,我并不是在否定这些朋友的慎重原则,慎重总是 好的 但是,对于广大非编程专业的IT人士而言,我们需要什么样的编程语言?由于我们非从事专业 编程,我们在编程上的需要一般只有两点 (1)编写各种满足我们工作需要的小程序,让我们的工作更加自动化、方便化、快捷化,我们 很少编写各种大的应用程序,毕竞我们不想抢专业编稈人员的饭碗……( 〔2)从学习编程到实用编程越快越好,我们可不想学三个月的C++才刚刚知道怎么写个循环语 句,我们需要更快的从学习一种话言转换到可以在实践中运用这种语言 而以上两点,是很多“大型”编程语言所不具备的,而却是 Autoit所具备的。 心理学上讲,学习具有近移性。所谓迁移性,简单说,就是当您学会骑自行车后再学习骑摩托 车不会很困难。也就是说,当学会一种技能后,再学习与其相似或原理上相近的技能时,会十分容 易上手。不可想象一个不会骑自行车的人你忽然给他辆摩托车让他骑会怎么样?学习骑自行车我们 不仅学会了怎么让自行车动起来,更重要的是我们学会了怎么保持这种二轮交通工只的平衡。这 点和编程语言的通用性是一样的 我们无论学习哪种编程语言,或者以哪种编程语言开始,学习的都不仪仪是这种语言,而是 种编程习惯,种编程算法。习惯与算法,可以在不同的编程语言之间通用,所以大可不必计较我 们现在学的是什么语言,但我们一定要计较我们在学习这种语言时学会了什么算法与习惯! 第三个问题, Autoit的优势在哪里? 就我个人的理解,优势主要有如下几方面: (1)较为宽松的语法 Δ utolt的语法较为宽松,虽然ˆ宽松的语法环境不太利于培养规整的编程习惯,但是宽松的 语法环境可以有效的提高上手的速度,更可以让很多初学者在不必过于担心语法错误的条件下专心 的学习各种编程基本知识。 (2)完善的帮助文档 Autoit有着完善的帮助文档,而且经由汉化工作者的大量努力, Autoit的中文帮助文档十分的 实用。Ault帮助文档中包含了大量 Autoit相关知识,当您忘记某一段知认时可以快速的查阅帮助 文档。有了这个帮助文档,您甚至可以不去记忆某些具体的语句内容,而是到需要时再去查阅 (3)函数库十分丰官 Autoit有着大量的自带函数,并有着丰富的用户自定义函数(UDF)。如果您在这里还不理解什 么是“函数”,不要紧,我们简单的说。例如您需要画一个三角形和一个圆形,最直接的办法是找纸 和笔,依次画三角形和园型,当然,如果您是领导,您也可以这样做: “小张,帮我画个三角形,小李,帮我画个圆形!” 几杪种后将会有一张画着三角形和圆形的纸出现在您面前。这里的“小张”“小李”就是函数。 那么,在有着大量现成函数的 Autoit中,很多复杂的工作您只需要发号施令就可以了,不需要 亲手去做。这一点也是 Autoit可以快速从学习转向实践的原因之 (4)广泛的使用 这里的广泛,当然不如CH+这种铁牌语言广泛,但是由于上文所述的Auot的诸多特点,让 Autoit 在很多从事mT业却非从事专业编程的人员中有着十分广泛的应用。而且很多人乐」分享他们的源 码,并提供帮助。网终中也有着各种以 Autoit为主的专业网站,例如: http:/www.aUtolt.Net.Cn/ 第二节、 Autoit的使用 1、Auol的安装 Autoit目前总版本为ⅴ3,这也是为什么我们现在普遍把 Autoit3称为AU3的原因。AU3的最 新版本您可以去 Autoit中文站(htp:/ Www.Autolt.net.cn)中获取。AU3相比其他编程语言轻则几 百M重则几GB的大小可谓是轻盈许多,只有30M左右,十分方便下载与安装。本书全文将以 Autoit v32.12.0.1版本为基础进行讲解 当您下载到最新版本的AU3后,双击即可开始安装。 AU3安装完毕后会自动启动一个AU3T具箱并在桌面上创建一个SITE编辑器的快捷方式 右键单击AU3工具箱图标,以看到其中包含相当多的AU3相关工具和文档,我们在今后会经常 使用到。 SCITE编辑器是我们用来书写AU3源代码的编辑器, SCITE编辑器具有对AU3源代码中 的语句进行各种加亮显示的功能,十分方便。 2、我们的第一个 Autoit程序 要书写一个程序,我们就必须先新建这个程序的源码文件。 在裝好 autoit程序包后,在桌面上单击鼠标仁键≥“新建”→“ autoit v3脚本”,这时桌面上 会现个“新建 Autoit y3脚本au3”,为了方便记忆,我们将它改名为"Fsta3”注意,如果 您并未设置显示后缀名,“au3”是不会显示的,当然,这不会造成什么影响。 鼠标右键单击“ First. au3”→“编辑脚本( SCITE)”,这时会自动使用SCIE打开“ First.au3 这个AU3脚木了。 凡是新建的AU3脚本文件,打开后都会有一些自带的内容,是一些提示或者常用的预编译等。 对于初学者,可以把这些完全删除。 删除后,我们在脚本中写下如下代码:(注意,特别是对于初学者,请保证您处于英文输入状态 下输入下面代码) MsgBox(o, First", Hello world! 您现在不必强求自己了解这行代码的意思,随后我们会详细的进行了解。写完后,保存。关闭 SCIE编辑器。双击我们桌面上的“ First. au3”,这时会弹出一个带有“ Hello world!”信息的消息框! OK,我们的第·个AU3程序就这么完成了!虽然只有行代码,但是这将是我们驾驭计算机 的开始! 3、编译 Autoit程序 常常听髙手说“编译”,听的多了,就会对这个词产生一种莫名的敬畏感。其实,编译是一件不 那么神秘的事情。 说冋我们刚才所做的,我们已经写了我们的第一个AU3脚本“ first. au3”,在安装有AU3程序 包的计算机中,如果我们双击“ First. au3”会弹出“ Hello world!”消息框,而如果我们把“ First.au3 移动到一台没有安装AU3程序包的计算机中,再双击“ First au3”会怎么样? 答案是不会怎么样,最多弹出一个窗口是 Windows问你用什么才能打开“ firstau3”,而不会弹 出" Hello world!”消息框,这要怎么办?难道AU3肘本只能运行于安装有AU3程序包的计算机中? 别着急,如果我们要AU3脚本稈序变的通用,我们要做的就是“编译”。 编译”的意思,就是把一个源码文件转换成可执行文件,对我们的AU3米说,“编译”就是 把AU3却木转换成EXE可执行文件 那要怎么编译呢?这个也很简单,右键单击我们的“ first au3”→“编译脚本(带进度)”,片刻 之后当计算机屏幕左上角个进度结束之后,桌面上会出现个“ First. exe”,OK,编译就是这么简 单一件事。 现在,我们把“ First. exe”无论移动到任何安装有 Windows的计算杌里,无论是这台计算机中 有没有预先安装AU3程序包,都可以双击运行并显示我们的“ Hello world!” 注: UNICODE的AU3程序可能不能用于 Windows9x系列,不过这不是间题,毕瓷没多少计 算机还在使用 Windows9x了。 通过本章的学习,我们初步认识了 Autoit的相关知识,了解了为何要学习 autoit,并目我们使 用 Autoit3成功的编写并编译了我们的第个 Autoit程序。虽然这些都比较简单,而且您可能还并 不了解我们第一个程序里的那行语句的含义,不过不要着急,一切都还只是个开始,我们会一步步 的将AU3的全部知识整合进我们的大脑知识库中! Let'sa第一章、 autoit初步, 完成」2008-8-2,2008:8-14第次修正 作者: Sky free QQ:165718402 E-Mail: Skyfree(a FreeSkyCD Cn 自由天空技术论坛: Www.Freeskycd.Cnbbs sy,自由天空 「〓〓 第二章、 Autoit基础 在本章中,我们将和您一起学习 Autoit的一些基础概念。对 基础概念的准确把握,将使您今后对 Autoit的学习更加得心应手! 《Let' s Autoit》(上)( Autoit编程基础篇 作者: Sky free(隶属自由天空技术论坛) 鸣谢:自由天空技术论坛(www,freeskycd.cn) autoit中文站(www.autoit,netcn) 第一节、常量与变量 、常量 所谓常量,就是在程序运行过程中,其值不能被改变的量。在 Autoit中,常量的声明方法如下: Const<常量名>=<数据> 例如 Const SPRICE=10 “ Const”为常量声眀关键字,声明常量前必须使用此关键字。“S”是 Autoit的常变量前缀名, 所冇的 Autoit常变量名都必须以“$”作为前缀。“ PRICE”为常量名,当然这个可以根据您的喜好 而更改,但是最好这个名字是有意义的。“=10”是将“10”赋值给“ PRICE”常量。 整体来讲,这行语句的意义是:声明一个名为 PRICE的常量,并且为其赋值10。 关于常量名的声明有各种习惯,这里 Skyfree我推荐您使用C语言中常量名的书写习惯,即将 常量名中的英文字母全部大写,这样便于与变量相互区分。当然,这仅仅是一个书写习惯而已,不 按此习惯书写也不会出错。 声明多个常量时,可以分多行书写 Const SPRICE1=10 Const SPRICE2=20 Const SPRICE3-50 也可以在同一行内书写多个 Const SPRICEl=1O.SPRICE2=20.SPRICE3=50 N 这里的逗号全部为英文逗号。 使用常量时要注意 (1)常量旦被声明则其值不能被改变,不要尝试在程序运行中以任何方法改变个常量的值 (2)常量声明时,注意不要与已存在的常量或变量的名字相重复 (3)一个常量只能声明一次,不能多次声明 声明常量最大的优点就是以“。改全改”,例如程序中多处用到某物品的价格,如果价格用数 值苌示,当价格调整时,需要到程序全文中做多处修改,而如果用常量代表价格,则只需要修改常 量的值即可。 2、变量 所谓变量,就是在程序运行过程中,其值可以被改变的量。在程序运行的过程中“可变”是变 量与常量最大的区别。在 Autoit中,变量的声明方法如下: Dim变量名> (还可以以“ Local”或“ Global”声明变量,山于牵涉其他相关内容,此后在相关章节会详细 介绍,这里不加赘述) 例如: Dim Ssk Dim”是变量声明关键字,声明变量前必须使用此关键字。“$”是 Autoit的常变量前缀名, 所有的 Autoit常变量名都必须以“S”作为前缀。“Sky”为变量名,当然这个可以根据您的喜好而更 改,但是最好这个名字是有意义的。 变量名声明也有一些习惯,如大写每个单词的首字呼,例如$ Autoit,这样使」阅读与修改代码。 当然,这仅仅是一个书写习惯而已,不按此习惯书写也不会出错。 声明多个变量,可以分多行书写 Dim sskyl Dim SSky2 Dim sky3 也可以在同一行内书写多个: Dim SSky l, SSky 2, $Sky3 为变量赋值的方法有多种,可以在声明变量时就为其赋值 Dim SKy=10 也可以在声明变量后为其赋值: Dim ssk SKy=10 使用常量时要注意 (1)变量需要先声明后赋值,不要尝试在木声明变量前就为这个变量赋值; (2)变量在声明时,注意不要与已存在的变量或常量的名字相重复; (3)一个变量只能被声明一次,请勿多次声明同一个变量 (4)Auol中可以不预先声明某变量,而是到需要使用时直接使用并即时声明,强烈不推荐使 用这个方法,虽然在某些小程序中会带来方便,但是十分不利于养成良好的编程习惯,且在出现问 题时不谷易查证。 3、常量与变量共同的使用规则 (1)常量与变量声明前,必须使用与其对应的关键字: Const和Dim: (2)在 Autoit中,所有的常量与变量名前必须是用s”前缀名; (3)常量或变量名的命名规则为:以下划线(“”)或英文字母开头的,下划线、英文字母与 数字的组合,例如“ S Free SkyCD”,“ BEijing2008”都是正确的 (4)在 Autoit中,其实是不区分变量中央文字母大小写的,例如SSKY和SSky将会被认为是同 个变量,所以要严加注意不要重复使用同一个名字来声明常量或变量; (5)常量与变量都遵循先声明后使用的原则,将“即时定义并使用”的方法抛之脑后吧,当您 的编程习惯达到一定高度后再来驾驭这个方法也绝不迟; (6)常量与变量名不宜过长 7)尽量使用有意义的名字作为常量或变量的名字,便于记忆与阅读 第二节、数据类型 为了便于记忆与理解,我们将常见的数据分为不同的类型 、数值型数据 (1)普通的十进制数值型数据:5、3.1415926、-1.2、-30等; (2)指数型十进制数值型数据:1.2e3,这个等同于数学中的1.2乘以10的三次方,只不过我 们在编程语言中的写法与平时不同了而已; (3)十六进制数据:以“0x”开头,例如0x312、0x4mf等〔如果您还不了解什么是进制或 者六进制等,不用着急,因为我们只在特别的时候需要这种数据,需要时白度一下也不迟)。 声明数佰犁数据变量的一般形式 Dim st=10 2、字符(串)型数据 (1)宇符串数据一般用“"”(英文的双引号)或“"”(英文的单引号)包含起来,例如:a'、 "b"、 FreeSky.Cn、" Autoit. Net. cn",英文单引号与英文双引号的使用意义是相同的,都用来说 明引号中包含的是一个字符或字符出; (2)一般情况下我们只使用双引号,而在特殊情况下,我们会将单双引号混用,例如字符串中 包含英文引号,则需要这样写: 这个"句子”中包含了"很多"的"收引号",留意到了吗? 也可以连续仗用两个引号以表明这个引号是字符串中的,而非包含字符串所用的: "这个"句子"中包含了"很多"的"双引号",看不到才怪!" 不过为了便于阅读,建议使用单双引号混用的方法,这种方法更便」代码的阅读。 声明字符(串)型数据变量的一般形式: Dimst=www.FreeSkycd.cn' 另,宇符串一般使用“&”来联结,例如: Dim ssl="w Dim ss2=Free SkyCD Cn Dim Ss $s=$sl&$s2 则$s的值为“Www.FreeCD.Cn” 3、布尔类型数据 布尔类型值只有“true”(真)和“ false”(假)两种值,是一种逻辑值,与此数据类型相关的內 容会在此后讲解“选择结构程序设计”时详绀讲解。 虽然我们人为的将数据类型分为多种,但是 Autoit的变量类型其实都是变体的,也就是说 Autoit 的变量是没有固定类型的。在声明产个变量时无需同时声明它将要盛放数据的数据类型,例如声明 个变量 D 我们可以为Ss赋数值类型的值,例如: $s=1001 也可以为$s赋字符串类型的值,例女 Ss=abe 这为变量的使用提供了一定的方便,但也容易引起一些混乱,所以我们有一个建议:使用一个 变量只存储个数据类型的数据。也就是说如果这个瓶子里放过酱油了,就不要再放醋了。如果没 有特殊需要,请遵循这个建议。 常量与变量一样,也是变体的,也就是说我们可以 Const SST=1023 也可以 Const Sst="Miranda" 这个与变量的声明是基本相同的,声明常量时也无需声明常量的数据类型。 Auol中,任何变量如果在声明后不为其赋值,那么其默认为空字符。

...展开详情
img
vicerty

关注 私信 TA的资源

上传资源赚积分,得勋章
最新资源