沧海笑 发表于 2011-10-18 14:32:20

WinWaitActive能指定多个窗口么[已解决]

本帖最后由 沧海笑 于 2011-10-19 11:23 编辑

比如qq,启动后,有可能弹出密码错误也有可能正常启动,
想对不同的情况做不同的处理,
但是WinWaitActive只能wait一个指定的窗口,有办法wait多个窗口么?

qqgghh1 发表于 2011-10-18 14:37:47

只能有一个窗口是在激活状态啊

沧海笑 发表于 2011-10-18 14:48:10

回复 2# qqgghh1
是只能有一个窗口在激活状态,我的意思是下一步出现的窗口有可能是A,也有可能是B,
如果我WinWaitActive(A),但是弹出的是B,程序就挂在那不动了
这种情况有办法处理么?

afan 发表于 2011-10-18 15:40:12

函数标题参数使用正则模式
WinWaitActive("")

gzh888666 发表于 2011-10-18 16:07:02

从来没有这样用过!

xtziqian1yan 发表于 2011-10-18 16:43:10

新手学习了....

502762378 发表于 2011-10-18 16:47:21

如果之后的两个窗口类别相同就更简单了

xianhou 发表于 2011-10-18 23:38:17

本帖最后由 xianhou 于 2011-10-18 23:45 编辑

WinActive() or WinActive()

可以。

qqgghh1 发表于 2011-10-18 23:43:39

函数标题参数使用正则模式
WinWaitActive("")
afan 发表于 2011-10-18 15:40 http://www.autoitx.com/images/common/back.gif
这个好用吗?从来没想到过这个,看来自己基础知识还是很不扎实啊。这让我想到了高中时代的一位数学老师说过,不要一味地去做复杂的题目,其实把书本上的公理、定理之类的弄透彻了,那些复杂的抽丝剥茧,最后都归于最基础的东西。

高级窗口描述
在此模式下,一些特殊的字符串可用来代替窗口标题参数,这样我们就可以使用下面的 属性 来识别一个窗口:

TITLE - 窗口标题
CLASS - 内部窗口类名
REGEXPTITLE -窗口标题使用 正则表达式 (如果正则表达式错误,将把 @error 设置为 2)
REGEXPCLASS -窗口类名使用 正则表达式 (如果正则表达式错误,将把 @error 设置为 2)
LAST - 使用上一次成功匹配的窗口,这样就不必三番四次地指定窗口标题和窗口文本了.
ACTIVE - 当前活动窗口
X(坐标) \ Y(坐标) \ W(宽度) \ H(高度) - 窗口坐标与大小
INSTANCE - 基于1开始的接口(instance,原翻译为枚举) 由程序自动分配的唯一标识.

afan 发表于 2011-10-18 23:48:59

回复 9# qqgghh1


    当然好用。你试试就知道了~ 匹配未知但有某些特征的窗口,这应该是最简单好用的方法。

沧海笑 发表于 2011-10-19 11:21:11

非常感谢版主,学习了{:face (190):}

menfan1 发表于 2011-10-19 12:18:47

呵呵,这样也行,没用过哈

xms77 发表于 2011-10-19 12:52:24

用WinExist()也可以吧

qqgghh1 发表于 2011-10-19 13:17:55

用WinExist()也可以吧
xms77 发表于 2011-10-19 12:52 http://www.autoitx.com/images/common/back.gif


    不可以吧,WINEXIST()只能做一次判别,或者弄一个函数循环监视。还是A版的方法简单有效啦

xms77 发表于 2011-10-19 20:52:46

回复 14# qqgghh1
当然,A版的方法简单可行,但是用循环扫描WinExist有循环扫描的好处
页: [1] 2
查看完整版本: WinWaitActive能指定多个窗口么[已解决]