2031252622 发表于 2014-5-7 00:46:40

为什么有时候可以,有时候不行

本帖最后由 2031252622 于 2014-5-7 01:54 编辑

第一次接触au3.想实现简单的软件自动安装.


Run("QQ5.3.exe")

WinWaitActive("腾讯QQ安装向导")

ControlClick("腾讯QQ安装向导", "我已阅读并同意软件许可协议和青少年上网安全指引", "Button1")

send("!n")

但是第一步就卡住...有时候会勾选协议,有时候不勾选.有时候勾选了不会下一步,有时候又会.晕.....

2031252622 发表于 2014-5-7 04:25:05

WinActivate("腾讯QQ安装向导")

WinWaitActive("腾讯QQ安装向导")

ControlClick("腾讯QQ安装向导", "我已阅读并同意软件许可协议和青少年上网安全指引", "Button1")

WinWaitActive("腾讯QQ安装向导")

send("!n")

修改成这样后,可以下一步了

2031252622 发表于 2014-5-7 07:04:07

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:09:53

本帖最后由 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个体的相应时间是不一样的

skyfree 发表于 2014-5-7 12:12:15

如果你不更改默认安装路径的话,执行 QQ.EXE /S 就可以了!

2031252622 发表于 2014-5-7 12:31:32

如果你不更改默认安装路径的话,执行 QQ.EXE /S 就可以了!
skyfree 发表于 2014-5-7 12:12 http://www.autoitx.com/images/common/back.gif


    路径是不用更改的.不过如果用/S参数.那些勾选参数和选装的软件都默认没有选择吗.

skyfree 发表于 2014-5-7 12:55:41

回复 6# 2031252622


    你实测一次不就知道了?

2031252622 发表于 2014-5-7 13:28:15

回复2031252622


    你实测一次不就知道了?
skyfree 发表于 2014-5-7 12:55 http://www.autoitx.com/images/common/back.gif


    试过了....好像什么都没选.嘿嘿,不过我还有其他软件要安装...闷啊.不是每个软件都有静默模式的.

skyfree 发表于 2014-5-7 16:30:09

回复 8# 2031252622


    绝大多数都有。

QUESTION789 发表于 2014-5-7 16:40:50

因为ControlClick控件不是绝对的标准控件,在没有写坐标的时候选中时会有时候误差,即为成功

2031252622 发表于 2014-5-7 18:31:41

回复2031252622


    绝大多数都有。
skyfree 发表于 2014-5-7 16:30 http://www.autoitx.com/images/common/back.gif


    不过我还是想学习下怎么用au3实现

2031252622 发表于 2014-5-7 18:32:05

因为ControlClick控件不是绝对的标准控件,在没有写坐标的时候选中时会有时候误差,即为成功
QUESTION789 发表于 2014-5-7 16:40 http://www.autoitx.com/images/common/back.gif


    那请教我应该用什么呢,谢谢

QUESTION789 发表于 2014-5-8 16:01:28

回复 12# 2031252622 有时候需要ControlCommand控件

baby666 发表于 2014-5-13 17:53:15

直接用绿色版好了

dabaiyun 发表于 2014-5-13 19:34:13

软件基本上都有默认安装参数的
页: [1]
查看完整版本: 为什么有时候可以,有时候不行