oplmamik 发表于 2012-4-19 11:04:46

【已解决】如何退出(恢复)winwait??

本帖最后由 oplmamik 于 2012-4-19 13:20 编辑

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

地平线 发表于 2012-4-19 11:53:53

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

zch11230 发表于 2012-4-19 11:54:23

首先楼主以什么作为不再等待的条件比如以时间那就是第三个参数
WinWait("", "", 5)
等待记事本窗口最多5秒 5秒都没有出现就不管了 执行下面的
如果以其它条件比如等待记事本 一直等到记事本窗口出现为止 或者计算器窗口出现了 也不等了 可以写一个循环检测

Do
        If WinExists("") Then ExitLoop
        Sleep(100)
Until WinExists("")

oplmamik 发表于 2012-4-19 13:11:00

回复 2# 地平线


    不是退出程序,比方说 WinWait("a") 根据机器配置不同超时时间无法同一,那么“a”窗口长时间不出现的话(或者“a”窗体已经关闭了)整个程序就会处于一直暂停的状态,无法继续执行下面的代码。我想问的是有什么方法可以跳过WinWait("a")去,继续执行下面的代码。

oplmamik 发表于 2012-4-19 13:14:22

回复 3# zch11230


    这个。。 那就不用winwait了   把所有需要winwait的地方全换成循环winExists。。 {:face (411):}

vason1019 发表于 2012-4-19 15:06:55

WinActivate
WinActive
winwait
可用于批量安装的好
页: [1]
查看完整版本: 【已解决】如何退出(恢复)winwait??