找回密码
 加入
搜索
查看: 8631|回复: 14

[AU3基础] 为什么有时候可以,有时候不行

  [复制链接]
发表于 2014-5-7 00:46:40 | 显示全部楼层 |阅读模式
本帖最后由 2031252622 于 2014-5-7 01:54 编辑

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


Run("QQ5.3.exe")

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

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

send("!n")

但是第一步就卡住...有时候会勾选协议,有时候不勾选.有时候勾选了不会下一步,有时候又会.晕.....
 楼主| 发表于 2014-5-7 04:25:05 | 显示全部楼层
WinActivate("腾讯QQ安装向导")

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

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

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

send("!n")

修改成这样后,可以下一步了
 楼主| 发表于 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")




前面都可以了.但是从红色字体开始.....安装完成以后无法继续.求解....
发表于 2014-5-7 09:09:53 | 显示全部楼层
本帖最后由 dearmb 于 2014-5-7 09:12 编辑
#requireadmin
#Region AutoIt3Wrapper ???参数(常用参数)
#AutoIt3Wrapper_icon = E:\back\Orid[1].Kyber.1.6.17.ico
#AutoIt3Wrapper_outfile = E:\back\Orid[1].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[1].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个体的相应时间是不一样的
发表于 2014-5-7 12:12:15 | 显示全部楼层
如果你不更改默认安装路径的话,执行 QQ.EXE /S 就可以了!
 楼主| 发表于 2014-5-7 12:31:32 | 显示全部楼层
如果你不更改默认安装路径的话,执行 QQ.EXE /S 就可以了!
skyfree 发表于 2014-5-7 12:12



    路径是不用更改的.不过如果用/S参数.那些勾选参数和选装的软件都默认没有选择吗.
发表于 2014-5-7 12:55:41 | 显示全部楼层
回复 6# 2031252622


    你实测一次不就知道了?
 楼主| 发表于 2014-5-7 13:28:15 | 显示全部楼层
回复  2031252622


    你实测一次不就知道了?
skyfree 发表于 2014-5-7 12:55



    试过了....好像什么都没选.嘿嘿,不过我还有其他软件要安装...闷啊.不是每个软件都有静默模式的.
发表于 2014-5-7 16:30:09 | 显示全部楼层
回复 8# 2031252622


    绝大多数都有。
发表于 2014-5-7 16:40:50 | 显示全部楼层
因为ControlClick控件不是绝对的标准控件,在没有写坐标的时候选中时会有时候误差,即为成功
 楼主| 发表于 2014-5-7 18:31:41 | 显示全部楼层
回复  2031252622


    绝大多数都有。
skyfree 发表于 2014-5-7 16:30



    不过我还是想学习下怎么用au3实现
 楼主| 发表于 2014-5-7 18:32:05 | 显示全部楼层
因为ControlClick控件不是绝对的标准控件,在没有写坐标的时候选中时会有时候误差,即为成功
QUESTION789 发表于 2014-5-7 16:40



    那请教我应该用什么呢,谢谢
发表于 2014-5-8 16:01:28 | 显示全部楼层
回复 12# 2031252622 有时候需要ControlCommand控件
发表于 2014-5-13 17:53:15 | 显示全部楼层
直接用绿色版好了
发表于 2014-5-13 19:34:13 | 显示全部楼层
软件基本上都有默认安装参数的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 18:01 , Processed in 0.082079 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表