窗口标题与文本(基础)

编写自动化操作脚本时, 大多数窗口能以独特的标题标题与文本的组合来识别.

使用 窗口形象工具 (甚至直接观察) 很容易获取这些信息.

大多数窗口的标题非常明显, 例如"无标题 - 记事本" 就是记事本程序的窗口标题.

一般来说这就已经足以帮助我们完成自动化任务了. 

 

注意: 如果标题和文本为空字串"", 操作对象将会是当激活的窗口(但不适用于高级匹配模式 WinTitleMatchModes)!

 

窗口标题及其文本区分大小写. 包括标点符号在内, 必须确保它们完全匹配.

为避免出错, 您可以使用窗口信息工具获取窗口相关信息, 然后选中标题或文本,

然后按下 ctrl+c 复制之后, 直接粘贴到脚本中使用.

也可以使用 advanced modes (高级模式)强制小写匹配

 

AutoIt 的大部分窗口函数都有标题和文本这两个参数, 比如说下面的 WinWaitActive 函数.

这个函数的功能是使脚本暂停执行 直到 指定窗口出现且激活时为止.

WinWaitActive ( "标题", ["文本"], [超时] )

 

标题 是必须指定的参数, 文本超时 都是可选参数. 也有些函数的文本 参数也是必须指定的.

如果省略文本参数, 只需指定 "" (空字符串)作为参数即可.

使用 "" 作为文本 参数值或者干脆留空,则匹配窗口的任何文本.

 

下面以记事本窗口为例说明上面提到的函数的两种用法:

WinWaitActive("无标题 - 记事本")

与:

WinWaitActive("无标题 - 记事本", "")

 

如果一个记事本窗口中有文本 "This is a line of text !", the 窗口信息工具 将显示相关信息:

 

 

请注意, 窗口信息工具已经捕捉了这个记事本窗口的标题及文本.

凡是窗口信息工具能捕捉的, AutoIt 也能捕捉到(指能在脚本中使用).

这些信息已经足以用来准确识别此窗口了(就算此时还打开了很多记事本窗口). 这时我们应该这么使用函数:

WinWaitActive("Untitled - Notepad", "This is some text!")

 

窗口文本

窗口文本由 AutoIt 能"见"的所有的文本组成, 通常是类似编辑控件的内容(如上面的 "This is a line of text").

但也包括一些其它文本:

重要的是你要使用靠近窗口标题的文本来识别独特窗口.

当指定窗口函数的文本参数后, 文本被当作匹配的子串来处理.

因此在上面记事本窗口示例中,即使把"some text"作为窗口文本参数, 也可以获得同样效果.

 

前面提到的所有应用都是以默认模式下操作为例的,AutoIt 还提供了其它几种 高级匹配模式.

 

注意: 隐藏窗口也可由"标题"匹配,但 "文本" 必须为空串 ("").
provider with jb51.net (unicode)