|
|
本帖最后由 wangzihe 于 2013-1-23 23:43 编辑
我刚刚接触au3,借助别人的脚本,照猫画虎,自己弄了一个暴风影音5.21.0115.1111(目前官方最新版)的au3自动安装脚本,可是有两个小问题不很满意,希望得到论坛前辈的指教。
问题1:这个脚本原来到了“立即体验”按钮出现的时候就会停止,无法进行下面的了。于是我试着在第28行加了Sleep(17000),测试了一下,如果安装进度条在17秒内能跑到头,那么脚本就可以顺利进行到底;如果电脑是老机器运行慢,安装进度条在17秒内不能跑到头,那么脚本同样还是会停止。我想能不能加个什么函数,让它自己判断,当“立即体验”按钮出现的时候,自动点击“立即体验”按钮继续进行下面的脚本呢?
问题2:如果电脑里以前安装过暴风影音,就会出现"暴风影音安装提示"对话框,这样脚本就能顺利的覆盖安装;但如果系统是第一次安装暴风影音,那么这个提示框就不会出现,而是直接出现'安装 暴风影音5 正式版' , 此时脚本也就卡在这里了。能不能改一下代码,让它自动判断,如果出现第一个窗口,就进行第一个窗口的操作,如果第一个窗口不出现,就直接跳到第二个窗口操作呢?
感谢坛友们的帮助,代码如下:- $file='暴风影音5.21.0115.1111.exe'
- If Not FileExists($file) Then Exit
- Run($file)
- If WinWait("暴风影音安装提示") Then ;如果已经安装过暴风影音,确认覆盖安装
- WinActivate("暴风影音安装提示")
- WinWaitActive("暴风影音安装提示")
- ControlClick("暴风影音安装提示", "", "Button1")
- EndIf
- $Hwnd=WinWait('安装 暴风影音5 正式版')
- ;等待欢迎界面控件可见
- Do
- Sleep(300)
- Until ControlCommand($Hwnd,'','SkinWindow1','IsVisible')
- ;点击下一步
- ControlClick($Hwnd,'','SkinWindow1','',1,478,376)
- ;等待选项界面控件可见
- Do
- Sleep(300)
- Until ControlCommand($Hwnd,'','SkinWindow2','IsVisible')
- ;点击附加的广告选项
- ControlClick($Hwnd,'','SkinWindow2','',1,142,231)
- ControlClick($Hwnd,'','SkinWindow2','',1,142,256)
- ControlClick($Hwnd,'','SkinWindow2','',1,142,280)
- ControlClick($Hwnd,'','SkinWindow2','',1,142,302)
- ;点击下一步
- Sleep(500)
- ControlClick($Hwnd,'','SkinWindow2','',1,473,373)
- Sleep(17000)
- Do
- Sleep(300)
- Until ControlCommand($Hwnd,'','SkinWindow4','IsVisible')
- WinActivate($Hwnd,'')
- WinWaitActive($Hwnd,'')
- ControlClick($Hwnd,'','SkinWindow4','',1,473,373)
- Sleep(1000)
- WinWait('新功能推荐-暴风影音')
- Sleep(100)
- ProcessClose("Welcome.exe")
- ProcessClose("StormPlayer.exe")
- ProcessClose("baofengplatform.exe")
- RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","BaofengPlatform")
- FileDelete(@AppDataDir & "\Microsoft\Internet Explorer\Quick Launch\暴风影音5.lnk")
- Opt('TrayIconHide',1);刷新一下
- Opt('TrayIconHide',0)
复制代码 |
|