找回密码
 加入
搜索
查看: 4272|回复: 7

关于WinWait 函数

[复制链接]
发表于 2009-5-19 18:00:25 | 显示全部楼层 |阅读模式
WinWait
暂停脚本的执行直至指定窗口存在(出现)为止.
WinWait ( "窗口标题" [, "窗口文本" [, 超时时间]] )

上面是中文帮助里面的原话,但是经过测试,最后一个参数并不是表示超时时间,而是等待时间

即等待这个时间之后才开始检测是否存在窗口
WinWait("记事本", "", 600)
例如上面的语句表示,脚本暂停10分钟(600秒),然后检测是否存在“记事本”的窗口

而不是“暂停脚本的执行直至“记事本”窗口存在(出现)为止.”
 楼主| 发表于 2009-5-19 18:23:57 | 显示全部楼层
如果要实现“暂停脚本的执行直至指定窗口存在(出现)为止.”可以用下面的语句:
Do
    Sleep(500) ;每隔0.5秒检查一次窗口
Until WinExists("标题")
使用上面的语句要考虑窗口永远不出来的情况,否则就是死循环了
发表于 2009-5-19 21:39:52 | 显示全部楼层
是你自己弄错了。
在未指定WinTitleMatchMode时,标题是从左开始匹配。记事本的标题是“无标题 - 记事本”、“aa.txt - 记事本”,无法匹配你用的“记事本”。所以会出现一直无法检测到记事本窗口,等待直至超时。
试试如下语句:
WinWait("无标题", "", 600) ; 从左匹配
WinWait("[CLASS:Notepad]", "", 600) ; 类匹配
 楼主| 发表于 2009-5-19 21:50:05 | 显示全部楼层
我的帖子里面只是随便写的标题

实际脚本里面我写的是完全匹配的一个标题,结果就是一定会在那个时间参数过了才会到下一步

不过我现在在另外一台电脑测试了一下你的例子,却是好的

可能电脑系统的问题或是我的脚本的问题
发表于 2009-5-20 02:26:27 | 显示全部楼层
估计是你测试的不对 你先运行这段 然后立刻打开我的电脑
WinWait("我的电脑","",10)
MsgBox(0,0,0)
马上就会弹对话框的 如果按照你的说法 应该10以后再检查窗口
 楼主| 发表于 2009-5-20 11:03:55 | 显示全部楼层
试了,看来是我的脚本的问题,谢谢各位,呵呵
发表于 2009-11-19 23:42:09 | 显示全部楼层
有用的带星。
发表于 2011-11-13 00:00:40 | 显示全部楼层
受益匪浅阿。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-6 03:10 , Processed in 0.073058 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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