为什么有时候可以,有时候不行
本帖最后由 2031252622 于 2014-5-7 01:54 编辑第一次接触au3.想实现简单的软件自动安装.
Run("QQ5.3.exe")
WinWaitActive("腾讯QQ安装向导")
ControlClick("腾讯QQ安装向导", "我已阅读并同意软件许可协议和青少年上网安全指引", "Button1")
send("!n")
但是第一步就卡住...有时候会勾选协议,有时候不勾选.有时候勾选了不会下一步,有时候又会.晕..... WinActivate("腾讯QQ安装向导")
WinWaitActive("腾讯QQ安装向导")
ControlClick("腾讯QQ安装向导", "我已阅读并同意软件许可协议和青少年上网安全指引", "Button1")
WinWaitActive("腾讯QQ安装向导")
send("!n")
修改成这样后,可以下一步了 Run("QQ5.3.exe")
WinActivate("腾讯QQ安装向导")
WinWaitActive("腾讯QQ安装向导")
ControlClick("腾讯QQ安装向导", "我已阅读并同意软件许可协议和青少年上网安全指引", "Button1")
WinWaitActive("腾讯QQ安装向导")
send("!n")
WinWaitActive("腾讯QQ安装向导")
ControlClick("腾讯QQ安装向导", "使用腾讯电脑管家+金山毒霸保护电脑安全", "Button1")
ControlClick("腾讯QQ安装向导", "安装最新版QQ浏览器7", "Button2")
ControlClick("腾讯QQ安装向导", "安装QQ音乐播放器", "Button3")
ControlClick("腾讯QQ安装向导", "安装腾讯视频播放器", "Button4")
ControlClick("腾讯QQ安装向导", "安装应用宝", "Button5")
ControlClick("腾讯QQ安装向导", "快速启动栏", "Button8")
WinWaitActive("腾讯QQ安装向导")
send("!n")
WinWaitActive("腾讯QQ安装向导")
send("!i")
WinWaitActive("腾讯QQ安装向导")
ControlClick("腾讯QQ安装向导", "", "Button1")
ControlClick("腾讯QQ安装向导", "", "Button2")
ControlClick("腾讯QQ安装向导", "", "Button4")
send("!f")
前面都可以了.但是从红色字体开始.....安装完成以后无法继续.求解.... 本帖最后由 dearmb 于 2014-5-7 09:12 编辑
#requireadmin
#Region AutoIt3Wrapper ???参数(常用参数)
#AutoIt3Wrapper_icon = E:\back\Orid.Kyber.1.6.17.ico
#AutoIt3Wrapper_outfile = E:\back\Orid.Kyber.1.6.17_ZD.exe
#AutoIt3Wrapper_Res_Description = 自?安装脚本, au3版本:3.3.6.1
#AutoIt3Wrapper_Res_Comment = 脚本生成于: 2010年 12月 14日
#EndRegion AutoIt3Wrapper ???参数?置完成
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiListView.au3>
#include <GuiImageList.au3>
Opt("MouseCoordMode", 0)
Global $hListView, $Path_Fitx, $Path_Fit, $Nem_Path
Run ( "E:\back\Orid.Kyber.1.6.17.exe" )
WinWait ( "O-RID KYBER - InstallShield Wizard","インストールで使用する言語を次の中から選択して下さい。" )
WinActivate ( "O-RID KYBER - InstallShield Wizard","インストールで使用する言語を次の中から選択して下さい。" )
ControlClick( "O-RID KYBER - InstallShield Wizard", "","Button1" )
Do
Sleep(10)
If WinExists( "O-RID KYBER - InstallShield Wizard","O-RID KYBER をコンピュータにインストールするには") then
WinActivate ( "O-RID KYBER - InstallShield Wizard","O-RID KYBER をコンピュータにインストールするには")
ControlClick( "O-RID KYBER - InstallShield Wizard","O-RID KYBER をコンピュータにインストールするには","Button1" )
EndIf
Until WinExists ( "O-RID KYBER","O-RID KYBER用のInstallShield ウィザードへようこそ")= true
Winwait( "O-RID KYBER","O-RID KYBER用のInstallShield ウィザードへようこそ")
WinActivate ( "O-RID KYBER","O-RID KYBER用のInstallShield ウィザードへようこそ")
ControlClick( "O-RID KYBER","O-RID KYBER用のInstallShield ウィザードへようこそ","Button1")
winwait ( "O-RID KYBER","使用許諾契約")
WinActivate ( "O-RID KYBER","使用許諾契約")
ControlClick( "O-RID KYBER","使用許諾契約","Button3")
sleep(1000)
ControlClick( "O-RID KYBER","使用許諾契約","Button5")
winwait ( "O-RID KYBER","インストール先のフォルダ")
WinActivate ( "O-RID KYBER","インストール先のフォルダ")
ControlClick( "O-RID KYBER","インストール先のフォルダ","Button1")
winwait ( "O-RID KYBER","プログラムをインストールする準備ができました")
WinActivate ( "O-RID KYBER","プログラムをインストールする準備ができました")
ControlClick( "O-RID KYBER","プログラムをインストールする準備ができました","Button1")
winwait ( "O-RID KYBER","InstallShield ウィザードを完了しました")
WinActivate ( "O-RID KYBER","InstallShield ウィザードを完了しました")
ControlClick ( "O-RID KYBER","InstallShield ウィザードを完了しました","Button1")可能时间太短了吧,适当加Sleep()
而且经常要用到Do……Until……
你不能保证按钮之后马上出来你想要的界面
这是我以前做的东西,你可以参考,你要充分考虑到PC个体的相应时间是不一样的 如果你不更改默认安装路径的话,执行 QQ.EXE /S 就可以了! 如果你不更改默认安装路径的话,执行 QQ.EXE /S 就可以了!
skyfree 发表于 2014-5-7 12:12 http://www.autoitx.com/images/common/back.gif
路径是不用更改的.不过如果用/S参数.那些勾选参数和选装的软件都默认没有选择吗. 回复 6# 2031252622
你实测一次不就知道了? 回复2031252622
你实测一次不就知道了?
skyfree 发表于 2014-5-7 12:55 http://www.autoitx.com/images/common/back.gif
试过了....好像什么都没选.嘿嘿,不过我还有其他软件要安装...闷啊.不是每个软件都有静默模式的. 回复 8# 2031252622
绝大多数都有。 因为ControlClick控件不是绝对的标准控件,在没有写坐标的时候选中时会有时候误差,即为成功 回复2031252622
绝大多数都有。
skyfree 发表于 2014-5-7 16:30 http://www.autoitx.com/images/common/back.gif
不过我还是想学习下怎么用au3实现 因为ControlClick控件不是绝对的标准控件,在没有写坐标的时候选中时会有时候误差,即为成功
QUESTION789 发表于 2014-5-7 16:40 http://www.autoitx.com/images/common/back.gif
那请教我应该用什么呢,谢谢 回复 12# 2031252622 有时候需要ControlCommand控件 直接用绿色版好了 软件基本上都有默认安装参数的
页:
[1]