全自动安装软件的实现.doc_第1页
全自动安装软件的实现.doc_第2页
全自动安装软件的实现.doc_第3页
全自动安装软件的实现.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用 AU3 脚本来安装软件?嗯,对的。大家或许见过某些高人做的软件自动安装器,这 些安装器在安装软件时会神奇的自动点击软件安装过程的每一步,自动化程度很高。但是不要感觉这东西太神秘了,只需要十几分钟,我们自己也可以写出这种“神奇”的软件自动安装脚本。在说用 AU3 脚本来实现软件的自动安装前,我们要先再看几个 AU3 函数。1WinWaitActive作用:暂停脚本的执行直至指定窗口被激活(成为可活动状态)为止语法:WinWaitActive ( 窗口标题, 窗口文本, 超时时间 )2 WinClose作用:关闭指定窗口语法:WinClose ( 窗口标题 , 窗口文本 )3Send59作用:向激活窗口发送模拟键击操作语法:Send ( 按键 , 标志 )参数:标志 = 0 (默认),按键序列中含有的特殊字符比如 + 和 ! 将被视为 SHIFT 和ALT 键。标志 = 1,按键将按原样发送。4SendX作用:向激活窗口发送中文字符语法:SendX ( 字符,标志)参数:标志,必需,设置为 0 或者非 1 为剪切板模式,1 为发送 ASC 模式WinWaitActive 和 Send 函数是我们的主角,WinWaitActive 用于等待某窗口的出现和激活,Send 用来发送一些键盘事件。有了能做这两件事都函数,我们就能做许多事情了。下面,我以暴风影音的自动安装为例写一个自动安装脚本。首先,我们需要启动暴风影音的安装程序。将 自动安装脚本与暴风影音安装包放置于同层目录下,使用如下代码调用暴风影音安装程序启动,Run(ScriptDir & Storm.exe)暴风影音启动后出现如下所示界面,这时我们就需要使用WinWaitActive 函数了。WinWaitActive 的语法是:WinWaitActive ( 窗口标题, 窗口文本, 超时时间 )“窗口标题”表示窗口标题中的文本,可以写标题中的全部文本,也可以写标题中的部分文本。如果只写部分,则应当选取比较有代表性的部分,例如上图中的“暴风影音 V3”。“窗口文本”是个可选参数,但是强烈建议写上,以更好地识别安装提示窗口。“ 窗口文本”的内容可以选取当前窗口中比较有代表性的文本,例如上图中的“欢迎使用”。60如果担心手工判断“窗口标题”与“窗口文本”会出现错误,建议初学者使用 AU3 工具箱中的“窗口信息工具”。 这是个相当好的工具,可以显示所选窗口中的所有相关信息。“超时时间”代表着如果WinWaitActive 的等待时间超过了超时时间,那么就不等待并继续执行WinWaitActive 后面的语句。那么,我们使用如下语句等待上图的出现和激活,WinWaitActive(暴风影音 V3,欢迎使用)这时,我们需要使用键盘的“Alt+N”来单击“下一步”按钮,这样一来我们就必须要用到 Send 函数。使用如下代码来发送“Alt+N”,Send(!N)“Alt+N”发送完成后进入下图界面,同第一个界面一样,我们进行类似的处理:第一,等待上图窗口的出现与激活;第二,单击“我接受”按钮。语句如下:WinWaitActive(暴风影音 V3,用户许可协议)Send(!I)在接受了许可协议后,我们进入了下面的窗口:61这个窗口中有一个让我们填写软件安装路径的文本框,如果我们需要重新填写,那么我们就必须要用到 SendX 函数了。SendX 最大的一个好处就是支持中文,这就意味着我们可以填写中文路径了(方便起见,我还是使用英文路径给大家展示)。使用 SendX 的有一点要注意,就是使用 SendX 函数时必须在代码的最开始处添加:#include 做好 SendX 的前提工作后,我们就可以修改我们需要的安装路径了。WinWaitActive(暴风影音 V3,选择安装位置)SendX(D:Softwares,0)Send(!I)当我们发送完“Alt+I”之后也就是按下“安装”按钮后,安装过程将开始执行,如下图,62安装过程结束后,会自动弹出下图的提示框,由于此时默认的选中位置在上图中的“运行 暴风影音”处,所以如果我们想去掉这个复选框的对号,只需要按下空格键就可以了。代码如下:WinWaitActive(暴风影音 V3,正在完成)Send(Space)“Space”代表着空格键,类似的还有“TAB”代表 TAB 键,“ ENTER”代表主键盘区的回车键,UP 向上箭头 ,DOWN 向下箭头 ,LEFT 向左箭头 ,RIGHT向右箭头等等,如果想了解更多请参与 AU3 帮助文档中关于 Send 命令的部分。63随后我们发送“Alt+F”来完成安装。Send(!F)到这里,我们就写完了关于暴风影音安装的 AU3 脚本。这只是个范例脚本,只用于给大家讲解关于 WinWaitActive 函数、Send 函数、SendX 函数等的应用,请勿生搬硬套,要学会灵活使用,根据不同的情况写出相应的脚本。总结一下暴风影音的自动安装脚本,再加上一些额外的功能,代码如下:#include Dim $PathIf Not(FileExists(ScriptDir & Storm.exe) ThenMsgBox(0+16,错误,暴风影音安装文件 Storm.exe 未发现!)ElseIf FileExists(ScriptDir & InstallPath.ini) Then$Path=IniRead(ScriptDir & InstallPath.ini,InstallPath,Path,)Else$Path=EndIfRun(ScriptDir & Storm.exe)WinWaitActive(暴风影音 V3,欢迎使用)Send(!N)WinWaitActive(暴风影音 V3,用户许可协议)Send(!I)WinWaitActive(暴风影音 V3,选择安装位置)If $Path ThenSendX($Path,0)Sleep(300)EndIfSend(!I)WinWaitActive(暴风影音 V3,正在完成)Send(Space)Send(!F)EndIf这个脚本中添加了一些内容,我简单的说一下。$Path, 这个变量用来记录软件安装路径, 这个变量的值由一个外部配置文件InstallPath.ini 读取,InstallPath.ini 的 InstallPath 段 Path 键记录着软件的安装路径。这样我们可以在不更改代码的情况下变更软件的安装路径。这个配置文件的内容如下:InstallPathPath = D:Softwares当这个配置文件不存在,或者配置文件里 Path 的值为空,那么软件则按照默认路径进行安装。大家是否看明白了呢?不太懂?不用着急,我同样建议初学者不要使用复杂的代码,代码越简单越好,能实现功能就可以。随着缩写程序的增多,基础的增强,渐渐的就不再怕复杂的代码了。AU3 脚本实现自动安装的方法就讲到这里。AU3 脚本实现软件的自动安装有诸多优点,特别是可自定义性极强,可以根据个人需64要定制安装路径、安装模式等等,但是不可回避的,AU3 脚本实现软件的自动安装也有一定的缺点,不稳定便是一个。由于 AU3 脚本是通过等待窗口的激活并发送键盘或鼠标事件来实行自动安装的,如果在脚本执行过程中有键盘动作或者有鼠标动作都会影响安装过程。所以,如果使用 AU3 脚本来控制软件的自动安装,一定要加一个提示,即

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论