找回密码
 加入
搜索
查看: 2930|回复: 5

[系统综合] 【已解决】如何退出(恢复)winwait??

[复制链接]
发表于 2012-4-19 11:04:46 | 显示全部楼层 |阅读模式
本帖最后由 oplmamik 于 2012-4-19 13:20 编辑

在做自动安装程序时使用winwait()后,如果等待的窗口一直不出现的话如何退出winwait呢?
因为等待的时间是不能预知的,所以第三个参数很不给力啊!
不只是winwait  其他与wait相关的函数貌似都没有退出(恢复)挂起状态的功能啊!

评分

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

查看全部评分

发表于 2012-4-19 11:53:53 | 显示全部楼层
WinWait ( "窗口标题" [, "窗口文本" [, 超时时间]] )
自己大概估计一下,设置个超时时间;又或者hotkeyset设置个热键执行你想要的操作。
PS:LZ的“退出(恢复)挂起状态”是什么意思呢?是不是退出程序?

评分

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

查看全部评分

发表于 2012-4-19 11:54:23 | 显示全部楼层
首先楼主以什么作为不再等待的条件  比如以时间  那就是第三个参数
WinWait("[CLASS:Notepad]", "", 5)
等待记事本窗口最多5秒 5秒都没有出现就不管了 执行下面的
如果以其它条件  比如等待记事本 一直等到记事本窗口出现为止 或者计算器窗口出现了 也不等了 可以写一个循环检测

Do
        If WinExists("[CLASS:CalcFrame]") Then ExitLoop
        Sleep(100)
Until WinExists("[CLASS:Notepad]")

评分

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

查看全部评分

 楼主| 发表于 2012-4-19 13:11:00 | 显示全部楼层
回复 2# 地平线


    不是退出程序,比方说 WinWait("a") 根据机器配置不同超时时间无法同一,那么“a”窗口长时间不出现的话(或者“a”窗体已经关闭了)整个程序就会处于一直暂停的状态,无法继续执行下面的代码。  我想问的是有什么方法可以跳过WinWait("a")去,继续执行下面的代码。
 楼主| 发表于 2012-4-19 13:14:22 | 显示全部楼层
回复 3# zch11230


    这个。。 那就不用winwait了   把所有需要winwait的地方全换成循环winExists。。
发表于 2012-4-19 15:06:55 | 显示全部楼层
WinActivate
WinActive
winwait
可用于批量安装的好
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-30 13:28 , Processed in 0.092926 second(s), 30 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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