您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 药学 > autoit中文教程
catpaw.5d6d.com2上篇初识AU3AU3AU3AU33Ⅰ什么是AU3AU3AU3AU3什么是au3呢!我一开始也有这种疑问,呵呵。后来经过一段时间的学习与摸索。觉得AU3就是一个介于编程语言与脚本之间的东东。首先,她可以用来编写小程序(这不是废话吗,呵呵),她可以编写出带图形界面的程序,并编译成独立运行的可执行文件。其次呢,她是脚本,常见的脚本诸如vbs,P处理(我一直把p处理认为是一种脚本),虽然也够强大,但是也没有弄出图形界面的美观吧。AU3就可以,她可以通过cmdline调用和执行任何dos命令,同时界面上也给用户DIY提供了更大的空间,譬如说她可以添加flash、图片、视频等。呵呵。够强大吧。AU3是一种带basic风格的脚本,也就是说如果你之前有学习vb或者vbs之类的语言,那么你就可以快速上手这种语言。下面援引官方说明的一段话,看看我们的AU3能干什么吧。AutoIt可以做的事:•简单易懂的类BASIC表达式•模拟键盘,鼠标动作事件•操作窗口与进程•直接与窗口的标准控件交互(设置/获取文字,移动,关闭,等等)•脚本可以编译为标准可执行文件•创建用户图形界面接口(GUI)•COM支持•正则表达式•直接调用外部DLL和WindowsAPI函数•程序运行为功能(让程序运行于其它账户)•详细易懂的帮助文件于基于社区的支持论坛•完全兼容于Windows2000/XP/2003/Vista/2008•Unicode与64位运算支持•高精度,易使用的数学运算•可以运行于WindowsVistaAccountControl(UAC)AutoIt被设计得尽可能小,并且不用依赖外部DLL文件或添加注册表项目即可独立运行.也可以安全的成为服务运行.脚本可以使用Aut2ExeAut2ExeAut2ExeAut2Exe编译为可独立运行的文件此外我们还设计了AutoIt的ActiveX和DLL版本——AutoItXAutoItXAutoItXAutoItX这是个组件化的语言(COM同一DLL文件中的标准DLL函数).AutoItX将使得您可以加入一些AutoIt独有的4特性到您最常用的脚本语言或程序设计语言中去!呵呵。我的简单介绍就到这里啦。没有看明白?以后会明白的。西西。Ⅱ我的第一个脚本和其他语言一样,咱们先编写我们的第一个脚本吧。(ps:当然前提是你已经安装了AU3,搭建了AU3基本运行的环境。最新的汉化版可以去ACN下载或者百度下会有很多的,好,切入正题)打开AU3的编辑器SciTE输入以下内容。Msgbox(0,您好,欢迎来到思远技术论坛)输入后,保存为脚本。文件名任意,只要不改AU3这个拓展名就OK,例如本例中的是我的第一个脚本.au3.运行下,会是啥效果呢?看图吧。呵呵。很简单吧。接下来我们给它加点交互。同样,在AU3的编辑器(其实记事本也可以编写,只不过没有AU3自带的强大),输入以下内容Dim$name$name=InputBox(您好,请输入您的姓名)Msgbox(0,您好&$name,欢迎来到思远技术论坛)再运行看看。是啥效果呢?提示输入您的姓名,我输入我的名字。点下确定看看5当然咱们编的这个小程序如果没有编译,在别的没有安装AU3的机子上是无法运行的,接下来,咱们把它编译成可执行的EXE文件。选择刚才我们写的那个脚本,右键看看。发现没。有两个编译脚本,一个是“带选项”的,一个是“带进度的。带选项的就是你可以在你要编译的EXE文件加上自己的信息,而“带进度”就是直接编译(编译出来有点丑)。咱们来个带选项的吧6我选了个思远的图标文件,编译出来是这个效果。是不是很强大呢?下面让我们来一起学习AU3吧。Ⅲ编程的基本知识呵呵。在学习之前,我们先要搞明白自己要学的语言数据类型有哪几种?什么是常量,什么是变量。条件选择结构与循环有哪些。Skyfree大大的教程《let'sautoit》讲诉的很详细。我这里只做简单的介绍吧。AAAA数据类型数据类型主要有数字型、字符型和布尔型。数字型:就是我们常见的1234567890这几个。字符型:在AU3中通常用英文的双引号来包含字符型数据。例如你好啊,思远,就是个典型的字符型数据。同样的,hello也是个字符型数据。发现什么了吗?呵呵。字符型数据既可以是个单词,也可以是个句子。上面学习的数字型数据加了""它也就是字符型数据了。123和123是不一样的。7布尔型数据:就是咱们常说的“真”和“假”,只不过它是英文的“true和false”。常用的数据类型就是这三个了(AU3中还有二进制值,基本上不常用,就不介绍了。感兴趣的去看下帮助吧。)。呵呵。下面咱们来讲下什么是常量什么是变量。BBBB常量与变量常量是具有一定含义的名称,用于代替数字或字符串,其值从不改变。呵呵。看的有点头大的感觉吧,简单来说常量就是个具有不变值的东东。最经典的常量就是我们以前学的π,呵呵。在AU3中常量一般用const关键字来进行申明。如帮助中的例子:Const$const1=1,$const2=12ps:常量不能声明为一个已经存在的变量.该说变量了。变量是什么呢?以前看sxd的AU3教程,觉得他讲的不错,呵呵。以下是摘录他的教程:变量,就是程序里存放数据的容器.可以把变量想象为用来放东西的箱子,比如苹果和苹果箱.变量名,就是这个箱子的名称,因为我们会需要很多的箱子来放苹果,大苹果,小苹果,红苹果....au3里变量名以美元符号($)开头,$abc,$123这些都是变量名我们早上采了苹果,准备晚上吃,这时候我们就需要把苹果放进箱子里,等到晚上再拿出来用.$apple$apple$apple$apple====10101010这时候$apple这个变量里就装了一个数字类型的数据10,到我们想用这个数据时候只要把$apple喊出来就可以了.在AU3中变量使用关键字Dim,Local和Global来声明并创建变量。一般变量是以美元符号$开头的。如下面例子:之前我们说过AU3具有vb和VBS相似的语法风格。所以在声明多个变量时,还可以像下面这样来写:Dim$a,$a1,$a2相当于Dim$aDim$a1Dim$a2CCCC运算符AutoIt支持以下这些赋值符号,数学运算符,比较和逻辑运算符。(转自帮助文件)运算符详细信息赋值运算=赋值,如$var$var$var$var====5555(赋值数字5到$var)+=自增赋值,如$var$var$var$var+=+=+=+=1111(添加1到$var)-=自减赋值.*=自乘赋值./=自除赋值.8当一个表达式内含有多个运算符时,其结合的先后顺序由运算符的优先级别来控制.AutoIt中运算符的优先级如下所示.处于同一优先级的两种运算符将按从左到右的顺序结合越上面的运算符则优先级越高:NOTNOTNOTNOT&=连续赋值.如$var$var$var$var====oneoneoneone,然后$var$var$var$var&=&=&=&=10101010($var的结果为one10)数学运算+使两个数相加.如10101010++++20202020(等于30)-使两个数相减.如20202020----10101010(等于10)*使两个数相乘.如20202020****10101010(等于200)/使两个数相除.如20202020////10101010(等于2)&使两个字符串连接起来.比如oneoneoneone&&&&10101010(等于one10)^提高某个数的幂.比如2222^^^^4444(2的4次方,等于16)比较运算(大小写敏感的字符串需要使用==来比较)=判断两个值是否相等.比如IfIfIfIf$var=$var=$var=$var=5555ThenThenThenThen(如果变量$var的值为5则条件成立).用于字符串时不区分大小写==判断两个字符串是否相等.左方和右方的值将会转化成字符串,并区分大小写,这个运算只能用于区分字符串大小写的比较.判断两个值是否不相等.比较会对字符串大小写敏感.要比较一个大小写敏感的不等于操作使用NotNotNotNot(string1(string1(string1(string1========string2)string2)string2)string2)判断第一个值(左边)是否大于第二个值(右边).Stringsarecomparedlexicographicallyevenifthecontentsofthestringhappentobenumeric.=判断第一个值(左边)是否大于或等于第二个值(右边).Stringsarecomparedlexicographicallyevenifthecontentsofthestringhappentobenumeric.判断第一个值(左边)是否小于第二个值(右边).Stringsarecomparedlexicographicallyevenifthecontentsofthestringhappentobenumeric.=判断第一个值(左边)是否小于或等于第二个值(右边).Stringsarecomparedlexicographicallyevenifthecontentsofthestringhappentobenumeric.逻辑运算AND逻辑与运算.如IfIfIfIf$var$var$var$var====5555ANDANDANDAND$var2$var2$var2$var26666ThenThenThenThen(如果变量$var的值为5而且变量$var2的值大于6则条件成立)OR逻辑或运算.如IfIfIfIf$var$var$var$var====5555OROROROR$var2$var2$var2$var26666ThenThenThenThen(如果变量$var的值为5或者变量$var2的值大于6则条件成立)NOT逻辑非运算.如NOTNOTNOTNOT1111(结果为False)9^^^^****////++++----&&&&====================ANDANDANDANDOROROROR例如表达式2222++++4444****10101010的值将是42424242,结合顺序如下:4*10(结果为40)2+40(结果为42)乘号****拥有比加号++++更高的优先级.会进行先乘后加您还可以使用括号来使表达式内的某些部分优先被计算.如(2(2(2(2++++4)4)4)4)****10101010结果等于60606060.DDDD条件选择结构•If...Then...Else(字面意思:如果(某个条件成立)…那么(执行某些操作)…否则(执行另外一些不同的操作)这里有点像VBS里面的判断。呵呵。几乎是一样的。举个简单的小例子:dim$age$age=inputbox(您好,请输入您的年龄)if$age=thenmsgbox(0,额,想忽悠在下)elsemsgbox(0,您好,您的年龄是&$age&,谢谢您的合作!)endif呵呵,这个很简单的。不过虫子还是要八婆一句,就是写了IF要记得写ENDIF哦,虫子以前老爱那么干。结果脚本运行出错,可是又不是像VBS那样提示我语句未结束。看看我下面这个例子,IF是没有结束的哦!includeGUIConstants.au3#includeButtonConstants.au3#includeGUIConstantsEx.au3#includeWindowsConstants.au3#Region###STARTKodaGUIsection###Form=$Form1=GUICreate(测试,403,135,192,124)$Button1=GUICtrlCreateButton(你好,112,32,107,41)GUISetState(@SW_SHOW)#EndRegion###EN
本文标题:autoit中文教程
链接地址:https://www.777doc.com/doc-5165278 .html