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

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

  [复制链接]
发表于 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}")

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-6-25 16:42:23 | 显示全部楼层
WinWaitActive($a,"")
也许可以这样试一下
发表于 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
因为那个界面应该不一定是激活的。。。
发表于 2011-6-25 19:44:28 | 显示全部楼层
If WinWaitActive($a,"已经安装了该版本") Then
一句改为
If WinWaitActive($a,"已经安装了该版本",10) Then
;等待时间10秒
发表于 2011-6-25 21:12:01 | 显示全部楼层
周星驰超版一出必定解决问题的!
 楼主| 发表于 2011-6-25 21:30:16 | 显示全部楼层
本帖最后由 qq54243154 于 2011-6-25 21:32 编辑

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




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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-6-25 21:31:21 | 显示全部楼层
回复 6# qq54243154


    图片挂了 !重传一次!
发表于 2011-6-25 21:47:51 | 显示全部楼层
回复 6# qq54243154

那种情况应该是用鼠标点过图标才会出现的,如果你的确没点过的话在脚本最后加exit试试
 楼主| 发表于 2011-6-25 21:57:34 | 显示全部楼层
加了,exit,还是一样,脚本没退出
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-27 07:22 , Processed in 0.077222 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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