找回密码
 加入
搜索
查看: 3930|回复: 8

[AU3基础] 【已解决】ACDSee自动化安装脚本问题

  [复制链接]
发表于 2010-11-18 15:43:19 | 显示全部楼层 |阅读模式
本帖最后由 兜兜转转 于 2010-11-24 16:40 编辑

小弟弱弱的问个问题
下面是一个ACDSee自动化安装程序,有的时候可以正常安装。
有的时候停止在输入License那个界面,貌似主要原因在于没有输入License就执行了这个命令。
ControlClick("ACDSee 5.0 PowerPack - InstallShield Wizard","Customer Information","Button4")
老大们有什么好的方式能帮忙改进下吗?
Run("D\Tools\Image\acdpwp500win-en.exe")
WinWaitActive("ACDSee 5.0 PowerPack - InstallShield Wizard","WARNING: This program is protected by copyright law and international treaties.")
 ControlClick("ACDSee 5.0 PowerPack - InstallShield Wizard","WARNING: This program is protected by copyright law and international treaties.","Button1")
WinWaitActive("ACDSee 5.0 PowerPack - InstallShield Wizard","License Agreement")
 ControlClick("ACDSee 5.0 PowerPack - InstallShield Wizard","License Agreement","Button3")
 ControlClick("ACDSee 5.0 PowerPack - InstallShield Wizard","License Agreement","Button5")
WinWaitActive("ACDSee 5.0 PowerPack - InstallShield Wizard","Customer Information")
Send("{Tab}")
Send("{Tab}")
;如下为输入18位License
Send("XXXXXXXXXXXXXXXXXX")
;如下为单击“Next”
 ControlClick("ACDSee 5.0 PowerPack - InstallShield Wizard","Customer Information","Button4")
WinWaitActive("ACDSee 5.0 PowerPack - InstallShield Wizard","Setup Type")
 ControlClick("ACDSee 5.0 PowerPack - InstallShield Wizard","Setup Type","Button5")
WinWaitActive("ACDSee 5.0 PowerPack - InstallShieldWizard","Shell Integration Setup")
 ControlClick("ACDSee 5.0 PowerPack - InstallShieldWizard","Shell Integration Setup","Button7")
WinWaitActive("ACDSee 5.0 PowerPack - InstallShield Wizard","Click Install to begin the installation")
 ControlClick("ACDSee 5.0 PowerPack - InstallShield Wizard","Click Install to begin the installation","Button1")
WinWaitActive("ACDSee 5.0 PowerPack - InstallShield Wizard","InstallShield Wizard Completed")
 ControlClick("ACDSee 5.0 PowerPack - InstallShield Wizard","InstallShield Wizard Completed","Button1")
WinWaitActive("ID_Media - Missing Components","QuickTime 6")
 ControlClick("ID_Media - Missing Components","QuickTime 6","Button2")
WinWaitActive("ID_PS","GhostScript has not been detected on your system")
 ControlClick("ID_PS","GhostScript has not been detected on your system","Button2")

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-11-19 15:44:35 | 显示全部楼层
没有这个程序,没有测试,但这般问题一般都出在语法不严谨。自己动动脑筋看看。
发表于 2010-11-19 18:29:14 | 显示全部楼层
我手头上没有这个软件,也没打算装
楼主可以将 Send("XXXXXXXXXXXXXXXXXX") 这句换成我下面这样的试试
ControlSetText("ACDSee 5.0 PowerPack - InstallShield Wizard","Customer Information", "Edit1", "XXXXXXXXXXXXXXXXXX")

上面的 Edit1 只是示例,具体控件名楼主自己取吧

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-11-22 16:29:41 | 显示全部楼层
我手头上没有这个软件,也没打算装
楼主可以将 Send("XXXXXXXXXXXXXXXXXX") 这句换成我下面这样的试试
Co ...
yhxhappy 发表于 2010-11-19 18:29

非常感谢你的建议,已经改进了,又学了一招,谢谢
发表于 2010-11-22 16:45:35 | 显示全部楼层
把焦点设置到edit上面再输入
 楼主| 发表于 2010-11-24 16:42:12 | 显示全部楼层
回复 2# ahphsautoit
我把13行改成Send("!N")了
发表于 2010-11-24 21:23:58 | 显示全部楼层
本帖最后由 zch11230 于 2010-11-24 21:25 编辑

我也是新手 根据我实践的经验 提点小意见
1:像窗口标题这些 多次要使用到的最好使用变量  方便以后更改 比如软件版本升级 安装方式没变 标题变了 你又得重新一处一处的去找再替换
2:ControlClick这个命令其实可以后台的 就算是你当前窗口没有激活 甚至被隐藏了  也是能起作用的 所以WinWaitActive改成winwait就好了
3:等待一个窗口出现之类的命令后面最好加一个小延时 200 400 都好 有的电脑卡一点 有可能会出现AU3以为窗口出现了 但实际上又没有完全出现 造成你的下一条命令过早执行 导致安装失败

评分

参与人数 1金钱 +20 贡献 +1 收起 理由
afan + 20 + 1

查看全部评分

发表于 2010-11-25 11:40:49 | 显示全部楼层
我也是新手 根据我实践的经验 提点小意见
1:像窗口标题这些 多次要使用到的最好使用变量  方便以后更改 比 ...
zch11230 发表于 2010-11-24 21:23



    说得不错!还有这种情况,比如一个按键,在某些状况下可能会造成连击的效果,也可以在执行命令的语句后面加上一点适当的延时,不影响程序的反应速度,也避免了连击情况的出现。
   case $button1
            _run()
改为:case $button1
                 _run()
                sleep(100)
 楼主| 发表于 2010-12-7 15:10:02 | 显示全部楼层
我也是新手 根据我实践的经验 提点小意见
1:像窗口标题这些 多次要使用到的最好使用变量  方便以后更改 比 ...
zch11230 发表于 2010-11-24 21:23


窗口标题使用变量? 怎么使用 不太懂?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-18 02:16 , Processed in 0.086117 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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