杜甫很忙反映了什么:自己学习AU3软件自动安装脚本编写总结[一]

来源:百度文库 编辑:中财网 时间:2024/04/25 08:38:45
自己学习AU3软件自动安装脚本编写总结[一]2009-12-12 21:23

这编文章主要是总结自己在编写200906软件自动安装包中脚本的经验,以便与提高自己编写脚本的能力。其实自动脚本的编写很简单,我只用了一个星期的时间学习,就能够自己编写脚本了,但是要写好就不容易,主要是要反复测试。  200906软件自动安装包中的软件安装器是论坛的software installer2.0版本(见图)

这是个软件安装器可以自由选择安装路径是非常好的一个软件,下面我把自己在编写脚本时的有关情况进行一下总结以软件包中迅雷 v5.8.9.662为例,脚本开头的代码如下:

Local $InstallPath
If $Cmdline[0] <> 0 Then7

$InstallPath = $Cmdline[1]
EndIf

这段代码具体的意思,我也不是很清楚,但是你要想用software installer 2.0这个安装器,就必须以这段代码开头。: {; {: y6 ]* ?( ]* a4 |+ p
Run(@ScriptDir & "\Thunder.exe")

这段代码的意思是运行当前脚本所在的目录中的Thunder.exe软件,其中,RUN是运行命令,@ScriptDir是当前运行中的脚本所在的目录(不包括结尾的反斜杠符号)。&是使两个字符串连接起来,后面的代码则是你要安装的软件的文件名。这个代码运行后会出行如下界面(见图2)


WinWait("安装 - 迅雷5","欢迎使用 迅雷5 安装向导")

WinActivate("安装 - 迅雷5","欢迎使用 迅雷5 安装向导")

WinWaitActive("安装 - 迅雷5","欢迎使用 迅雷5 安装向导")

Send("!N")

WinWait命令是暂停脚本的执行直至指定窗口存在(出现)为止。WinActivate命令是激活指定的窗口。WinWaitActive命令是暂停脚本的执行直至指定窗口被激活(成为可活动状态)为止。这段代码有的人会说只用WinWait和WinWaitActive就可以了,为什么我要在这里加一个WinActivate命令,主要是考虑我们平时装软件时,不可能只装一个,如果我们装的软件较多,加上电脑配置不高的话,可能会导致安装第二个软件时,软件安装界面不在激活状态(这种情况我遇到过),因此,为了安装顺利我认为在这个地方加上WinActivate命令还是有必要的。
' s! B3 Q/ }7 Y% n! J6 ESend
命令是模拟键盘动作,意思是按ALT+N,其它的键盘按键,大家可以看AU3帮助中Send命令的参数。除了模拟键盘外AU3还提供了模拟鼠标动作,大家可以用ControlClick命令,具体用法可以看小穆的教程(他主要以模拟鼠标动作为主)。http://www.freeskycd.cn/bbs/viewthread.php?tid=18186&fromuid=9516

上面的代码执行后(见图3)

WinWait("安装 - 迅雷5","许可协议")

WinWaitActive("安装 - 迅雷5","许可协议")

Send("!A")
send("!N")    

这段代码是指捕抓到窗口后,先按ALT+A键,后ALT+N键。执行后(见图4)

WinWait("安装 - 迅雷5","选择附加任务")
WinWaitActive("安装 - 迅雷5","选择附加任务")

Send("{Space}")
Send("!N")
这段代码和上面是一样的意思,注意在选项选择时,我们可以用Send("{TAB}")和Send("{DOWN}")命令进行选项的选择,用Send("{Space}")启用和关闭选项。有时有些软件不能用键盘动作进行选择时,可以用鼠标动作ControlClick命令进行。