sanfer8889 发表于 2017-2-22 22:42:41

请教,目标窗口的标题是变化,但带有关键字,如何去WinWaitActive?

1、以前判断的目标软件升级改版了,标题会变化,现在目标窗口的标题一定会有“属性页”三个字,
所以$title必须得捕捉到先,请问如何获得当前有关键字“属性页”,并把它放入$title变量中?
WinWaitActive($title,"")

2、如果存在有多个带有关键字“属性页”的窗口,真正唯一要Active起来的窗口是带有Button控件的,这种情况下,如何判断窗口是否有Button控件,Button控件的关键字也是随机不确定的。。。

第二个问题不强求代码,求思路指导,感谢各位领导、高手,谢谢解答!

Alam 发表于 2017-2-23 07:22:56

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

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

具体看帮助吧

cfwyy 发表于 2017-2-23 09:18:48

如二楼所说,用正则 可以的。

sanfer8889 发表于 2017-2-23 13:14:13

谢谢两位,这里有个疑点,如何做到历遍所有窗口,去匹配所有的窗口的标题呢?

zghwelcome 发表于 2017-2-23 15:57:49

opt("wintitlematchmode",2)
用标题快速匹配模式,获取句柄后再进一步比对其他信息(如窗口大小,用范围值、比例等),看是否是目标窗口

pan123 发表于 2017-2-26 19:08:25

回复 2# Alam
页: [1]
查看完整版本: 请教,目标窗口的标题是变化,但带有关键字,如何去WinWaitActive?