qq54243154 发表于 2011-6-25 16:18:05

[已解决]关于判断语句的问题,用了以后脚本不动了

本帖最后由 qq54243154 于 2011-6-26 12:58 编辑

我是一个菜鸟,初学AU3,用脚本自动安装QQ拼音,
我的脚本是这样的,初次安装的时候没有问题,但是我想加入一个判断语句,如果有已经安装过了,就退出,没有安装过就接着安装,

Dim $a="QQ拼音输入法3.4安装"
Run("\\game\aa$\XP系统相关\输入法\QQPinyin_Setup_34_922.exe")
If WinWaitActive($a,"已经安装了该版本") Then
                ControlClick($a,"已经安装了该版本","Button2")
                EndIf
        WinWaitActive($a,"欢迎使用")
Send("!n")
WinWaitActive($a,"授权协议")
Send("!i")
WinWaitActive($a,"选择“QQ拼音输入法3.4”的安装文件夹")
Send("d:\QQPinyin")
Send("!i")
WinWaitActive($a,"安装完成")
ControlClick($a,"安装完成","Button6")
Send("{ENTER}")

但是添加判断语句以后,画面就在这里不动了,请问高手是什么回事??错在哪里?要怎么改?

kevinch 发表于 2011-6-25 16:42:23

WinWaitActive($a,"")
也许可以这样试一下

daiyu116 发表于 2011-6-25 17:26:12

本帖最后由 daiyu116 于 2011-6-25 17:29 编辑

回复 1# qq54243154

If WinWaitActive($a,"已经安装了该版本") Then
    ControlClick($a,"已经安装了该版本","Button2")
EndIf
这一段应该改成
If WinExists ($a,"已经安装了该版本") Then
    ControlClick($a,"已经安装了该版本","Button2")
EndIf
因为那个界面应该不一定是激活的。。。

pcbar 发表于 2011-6-25 19:44:28

If WinWaitActive($a,"已经安装了该版本") Then
一句改为
If WinWaitActive($a,"已经安装了该版本",10) Then
;等待时间10秒

hzxymkb 发表于 2011-6-25 21:12:01

周星驰超版一出必定解决问题的!

qq54243154 发表于 2011-6-25 21:30:16

本帖最后由 qq54243154 于 2011-6-25 21:32 编辑

谢谢2楼和3楼的,我都试过了,都不行,最后试了pcbar版主的方法,可行,原来要在
If WinWaitActive($a,"已经安装了该版本",10) Then
;等待时间10秒,为什么一定要加10秒才行呢???不理解,
但是又出现了另一个问题,脚本发现系统已经安装了QQ拼音以后,程序退出了,但是脚本却没退出,在任务栏显示脚本暂停中,如图:




请问要怎么处理才算完美解决????

hzxymkb 发表于 2011-6-25 21:31:21

回复 6# qq54243154


    图片挂了 !重传一次!

骗子 发表于 2011-6-25 21:47:51

回复 6# qq54243154

那种情况应该是用鼠标点过图标才会出现的,如果你的确没点过的话在脚本最后加exit试试

qq54243154 发表于 2011-6-25 21:57:34

加了,exit,还是一样,脚本没退出
页: [1]
查看完整版本: [已解决]关于判断语句的问题,用了以后脚本不动了