设置在例如 WinWait 这样的命令中,参数 WinTitle 的匹配模式。
SetTitleMatchMode, MatchMode
SetTitleMatchMode, Fast|Slow
MatchMode |
使用下面所示的一个数字或单词 RegEx : 1 :匹配由指定的 WinTitle 开始的窗口标题。 RegEx(v1.0.45+):切换参数 WinTitle ,WinText,ExcludeTitle 以及 ExcludeText 为 正则表达式 匹配模式。当使用正则表达式的时候,不用在正则表达式的外面加引号。例如:WinActivate Untitled.*Notepad 。RegEx 同样适用于 ahk_group 和 ahk_class 。例如 ahk_class IEFrame 匹配一个类名中任意位置包含 IEFrame 的窗口(这是因为默认情况下,正则表达式会在目标字符串中的 任意位置 搜索匹配值)。注意:对 WinText 参数来说,正则表达式会独立的匹配每个文本元素(例如每个控件的文本),因此,正则表达式的匹配范围不能横跨多个文本元素。 上面的模式设置同样影响 ExcludeTitle 参数。例如,模式 3 要求被排除的窗口的标题精确匹配 ExcludeTitle 中指定的名称。 |
Fast|Slow | Fast:快速模式,这个是默认值。使用 Fast 的性能比使用 Slow 要好得多,但是对于窗口操作类命令中的 WinText 参数,某些类型的窗口中的文本元素可能不能被检测到。 Slow:慢速模式,速度会比较慢,但是 WinText 可以匹配到窗口中所有可能的文本元素。Window Spy 中显示在“slow Hidden Text”部分的文本都要求使用慢速模式来匹配。 |
这个命令影响所有的窗口操作类命令,例如 IfWinExist 和 WinActivate 。
如果未指定,默认使用 1 和 fast 。
一般来说,只有在用窗口标题或者快速模式的 WinText 参数搜索不到窗口的时候才使用慢速模式。因为当任一个窗口正忙或者无响应的时候慢速模式会变得相当的慢。
AutoHotkey 自带的 Window Spy 将需要使用慢速模式检测的文本元素放在一个独立的区域中显示,这样就可以很容易的决定是否使用慢速模式。
如果你要同时修改两个参数,可以使用这个命令两次:
SetTitleMatchMode, 2
SetTitleMatchMode, slow
内置变量 A_TitleMatchMode 和 A_TitleMatchModeSpeed 存储了当前的设置。
与当前的 TitleMatchMode 设置无关,WinTitle ,WinText ,ExcludeTitle 以及 ExcludeText 都是大小写敏感的。但是有一个例外,就是正则表达式中 大小写敏感设置 ,例如:i)untitled - notepad
每一个新运行的 Thread/线程(例如一个 hotkey/热键,custom menu item/自定义菜单,或 timed/定时器 事件)会将该命令的设置重置为默认值。要更改该命令的默认值,可以将命令放在脚本的自动执行区域(脚本的顶部)。
SetWinDelay, IfWinExist, WinActivate, RegExMatch()
SetTitleMatchMode 2 ; 或者: SetTitleMatchMode RegEx SetTitleMatchMode Slow ; Slow/Fast 可以在其它的模式之外单独进行设置。