自动安装脚本生成器.doc_第1页
自动安装脚本生成器.doc_第2页
自动安装脚本生成器.doc_第3页
自动安装脚本生成器.doc_第4页
自动安装脚本生成器.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

自动安装脚本生成器AutoIt3AU3 脚本实现软件自动安装用 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 脚本来控制软件的自动安装,一定要加一个提示,即“请勿在软件自动安装过程中使用键盘或鼠标”。不管怎么说,使用 AU3 脚本来实现软件自动安装是时下比较流行的一种方法。写自动安装脚本时一定要多尝试、多变通,不要模仿,要在理解了以后自己动脑动手。希望这一小节能给大家带来便利。现在可以大吼一声:让高手们的“神奇的”软件自动安装见鬼去吧,现在我们都可以亲手写软件的自动安装脚本!i-Autoit 编写AU3软件自动安装脚本的利器i-Autoit这个软件,网上一搜一大把,对于初学AU3的人,实在是得力的助手。 先看界面: 如何使用它编写出我们想要的执行软件自动安装的脚本呢?其实不难。我的体会是主要运用好3个命令按键: win【作用是激活窗口,每当安装界面变换都要重新激活新的窗口】 click【作用是选中或选空目标控件,包括“下一步”、“我接受”、取消或打上对钩】 sendx【作用是发送文字信息,英文中文均可,主要是修改安装路径时使用】有一点强调一下,如果遇到安装软件默认打着对钩的,这个安装选项也是你想要的,就不要用click按键发出选中的命令了,那会出错的。 这里还需要用到另外一个软件,是i-Autoit 附带的,看一下界面: 我介绍的3个命令中所涉及到的所有窗口标题、文本、控件信息,都要靠它获取,方法是用鼠标中键(就是那个滑轮)对准正在安装的软件的界面上的某个地方按一下,就能在i-Autoit 的“窗口标题”、“可见文本”、“控件信息”处看到你想要获取的信息了,这是自动获取的,不用填写,若看不到,点一下下拉箭头就可以选择了。 一切准备就绪,按一下F1开始,结束后按F2保存。 最后还需要把你刚才编写的AU3脚本转换成可执行的EXE文件,i-Autoit 已经附带一个了软件Aut2Exe,看一下界面: 找到源码文件,目标文件和自定义图标可填可不填,点一下转换,就能在刚才存放AU3脚本的地方找到这个EXE文件了,如果你的脚本有错误,它也会指出来是哪里错了,无法转换,你需要重新修改。成功后,把它和原安装程序放在同一个文件夹,就可以执行自动安装了。下面秀几个我用i-Autoit编写的AU3脚本。 一、360安全卫士7.5版;本脚本由i-AutoitAutoitCN专用版生成 : 360安全卫士自动安装脚本,2010年12月05日#Region#AutoIt3Wrapper_Res_Description=i-AutoitAutoitCN专用版生成#EndRegionOpt(TrayIconDebug, 1);本脚本由i-AutoitAutoitCN专用版生成 2010年12月05日Run( 360安全卫士.exe)TrayTip( 正在安装,360安全卫士.exe,请稍后.,10,1)Sleep(1000)WinWaitActive( 360安全卫士 7.5.0.2001 安装, 欢迎使用“360安全卫士”安装向导) ;-激活目标窗口-ControlCommand( 360安全卫士 7.5.0.2001 安装, 欢迎使用“360安全卫士”安装向导,Button2,Check, ) ;-选中目标按钮-WinWaitActive( 360安全卫士 7.5.0.2001 安装 , 在安装“360安全卫士”之前,请阅读授权协议。) ;-激活目标窗口-ControlCommand( 360安全卫士 7.5.0.2001 安装 , 在安装“360安全卫士”之前,请阅读授权协议。,Button2,Check, ) ;-选中目标按钮-WinWaitActive( 360安全卫士 7.5.0.2001 安装 , 请选择您准备安装360安全卫士的文件夹。) ;-激活目标窗口-ControlCommand( 360安全卫士 7.5.0.2001 安装 , 请选择您准备安装360安全卫士的文件夹。,Button2,Check, ) ;-选中目标按钮-WinWaitActive( 360安全卫士 7.5.0.2001 安装 , 正在完成“360安全卫士”安装向导) ;-激活目标窗口-ControlCommand( 360安全卫士 7.5.0.2001 安装 , 正在完成“360安全卫士”安装向导,Button4,UnCheck, ) ;-选空目标按钮-ControlCommand( 360安全卫士 7.5.0.2001 安装 , 正在完成“360安全卫士”安装向导,Button2,Check, ) ;-选中目标按钮-二、小红伞简体中文10版;本脚本由i-AutoitAutoitCN专用版生成 : avira_antivir_personal_zhcn自动安装脚本,2010年12月09日#Region#AutoIt3Wrapper_Res_Description=i-AutoitAutoitCN专用版生成#EndRegionOpt(TrayIconDebug, 1);本脚本由i-AutoitAutoitCN专用版生成 2010年12月09日Run( avira_antivir_personal_zhcn.exe)TrayTip( 正在安装,avira_antivir_personal_zhcn.exe,请稍后.,10,1)Sleep(1000)WinWaitActive(Avira AntiVir Personal - Free Antivirus, 欢迎使用) ;-激活目标窗口-ControlCommand(Avira AntiVir Personal - Free Antivirus, 欢迎使用,Button2,Check, ) ;-选中目标按钮-WinWaitActive(Avira AntiVir Personal - Free Antivirus, 我接受许可协议条款(&A) ;-激活目标窗口-ControlCommand(Avira AntiVir Personal - Free Antivirus, 我接受许可协议条款(&A),Button1,Check, ) ;-选中目标按钮-ControlCommand(Avira AntiVir Personal - Free Antivirus, 我接受许可协议条款(&A),Button3,Check, ) ;-选中目标按钮-WinWaitActive(Avira AntiVir Personal - Free Antivirus, 请确认您仅将 Avira AntiVir Personal - Free Antivirus 用于个人用途而非商业目的。) ;-激活目标窗口-ControlCommand(Avira AntiVir Personal - Free Antivirus, 请确认您仅将 Avira AntiVir Personal - Free Antivirus 用于个人用途而非商业目的。,Button2,Check, ) ;-选中目标按钮-ControlCommand(Avira AntiVir Personal - Free Antivirus, 请确认您仅将 Avira AntiVir Personal - Free Antivirus 用于个人用途而非商业目的。,Button5,Check, ) ;-选中目标按钮-WinWaitActive(Avira AntiVir Personal - Free Antivirus, 系统将安装标准组件。) ;-激活目标窗口-ControlCommand(Avira AntiVir Personal - Free Antivirus, 系统将安装标准组件。,Button8,Check, ) ;-选中目标按钮-WinWaitActive(Avira AntiVir Personal - Free Antivirus, 是的,我想订阅 Avira 新闻稿) ;-激活目标窗口-ControlCommand(Avira AntiVir Personal - Free Antivirus, 是的,我想订阅 Avira 新闻稿,Button2,UnCheck, ) ;-选空目标按钮-ControlCommand(Avira AntiVir Personal - Free Antivirus, 是的,我想订阅 Avira 新闻稿,Button5,Check, ) ;-选中目标按钮-WinWaitActive(Avira AntiVir Personal - Free Antivirus, 安装完成) ;-激活目标窗口-ControlCommand(Avira AntiVir Personal - Free Antivirus, 安装完成,Button14,Check, ) ;-选中目标按钮-三、一键GHOST硬盘版11.2;本脚本由i-AutoitAutoitCN专用版生成 : 一键GHOST硬盘版11.2自动安装脚本,2010年12月03日#Region#AutoIt3Wrapper_Res_Description=i-AutoitAutoitCN专用版生成#EndRegionOpt(TrayIconDebug, 1);本脚本由i-AutoitAutoitCN专用版生成 2010年12月03日Run( 一键GHOST硬盘版11.2.exe)TrayTip( 正在安装,一键GHOST硬盘版11.2.exe,请稍后.,10,1)Sleep(1000)WinWaitActive(一键GHOST 安装程序, 下一步(&N) ) ;-激活目标窗口-send(!n) ;-发送键盘命令-WinWaitActive(一键GHOST 安装程序, 许可协议:) ;-激活目标窗口-send(enter) ;-发送键盘命令-WinWaitActive(一键GHOST 安装程序, 安装百度工具栏) ;-激活目标窗口-ControlCommand(一键GHOST 安装程序, 安装百度工具栏,Button33,UnCheck, ) ;-选空目标按钮-send(enter) ;-发送键盘命令-WinWaitActive(一键GHOST 安装程序, 下一步(&N) ) ;-激活目标窗口-send(enter) ;-发送键盘命令-WinWaitActive(一键GHOST 安装程序, 立即运行 一键GHOST) ;-激活目标窗口-ControlCommand(一键GHOST 安装程序, 立即运行 一键GHOST,Button32,UnCheck, ) ;-选空目标按钮-ControlCommand(一键GHOST 安装程序, 立即运行 一键GHOST,Button34,UnCheck, ) ;-选空目标按钮-ControlCommand(一键GHOST 安装程序, 立即运行 一键GHOST,Button1,Check, ) ;-选中目标按钮-While 1SelectCase ProcessExists(IEXPLORE.EXE)ProcessClose(IEXPLORE.EXE)ExitLoopcase ProcessExists(360se.exe)ProcessClose(360se.exe)ExitLoopEndSelectWend;-上面这段代码不是由这个软件产生的,而是我自己添加的,目的是关闭一键GHOST硬盘版软件安装成功后弹出的浏览器-四、网际快车迷你版;本脚本由i-AutoitAutoitCN专用版生成 : 网际快车迷你版自动安装脚本,2010年12月07日#Region#AutoIt3Wrapper_Res_Description=i-AutoitAutoitCN专用版生成#EndRegionOpt(TrayIconDebug, 1);本脚本由i-AutoitAutoitCN专用版生成 2010年12月07日Run( 网际快车迷你版.exe)TrayTip( 正在安装,网际快车迷你版.exe,请稍后.,10,1)Sleep(1000)WinWaitActive(迷你快车(FlashGetMini) 安装, 欢迎使用 迷你快车(FlashGetMini) 安装程序) ;-激活目标窗口-ControlCommand(迷你快车(FlashGetMini) 安装, 欢迎使用 迷你快车(FlashGetMini) 安装程序,Button2,Check, ) ;-选中目标按钮-WinWaitActive(迷你快车(FlashGetMini) 安装, 许可证协议) ;-激活目标窗口-controlclick(迷你快车(FlashGetMini) 安装, 许可证协议,Button2 ) ;-点击目标按钮-WinWaitActive(迷你快车(FlashGetMini) 安装 , 选择安装位置) ;-激活目标窗口-ControlSend(迷你快车(FlashGetMini) 安装 , 选择安装位置,Edit1,D:Program FilesFlashGet NetworkFlashGet Mini) ;-发送英文字符-请注意这一句,我已经修改了网际快车原来的安装路径到D盘了。ControlCommand(迷你快车(FlashGetMini) 安装 , 选择安装位置,Button2,Check, ) ;-选中目标按钮-WinWaitActive(迷你快车(FlashGetMini) 安装 , 安装完成) ;-激活目标窗口-ControlCommand(迷你快车(FlashGetMini) 安装 , 安装完成,Button2,Check, ) ;-选中目标按钮-五、千千静听 5.7正式版;本脚本由i-AutoitAutoitCN专用版生成 : ttpsetup自动安装脚本,2010年12月21日#Region#AutoIt3Wrapper_Res_Description=i-AutoitAutoitCN专用版生成#EndRegionOpt(TrayIconDebug, 1);本脚本由i-AutoitAutoitCN专用版生成 2010年12月21日Run( ttpsetup.exe)TrayTip( 正在安装,ttpsetup.exe,请稍后.,10,1)Sleep(1000)WinWaitActive(千千静听 5.7正式版 安装程序 Unicode, 欢迎使用 千千静听 5.7正式版 安装程序) ;-激活目标窗口-ControlCommand(千千静听 5.7正式版 安装程序 Unicode, 欢迎使用 千千静听 5.7正式版 安装程序,Button2,Check, ) ;-选中目标按钮-WinWaitActive(千千静听 5.7正式版 安装程序 Unicode, 在阅读并接受本授权协议所有的条款之前,请勿安装或使用此软件。) ;-激活目标窗口-ControlCommand(千千静听 5.7正式版 安装程序 Unicode, 在阅读并接受本授权协议所有的条款之前,请勿安装或使用此软件

温馨提示

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

评论

0/150

提交评论