- 版本 v1.1.15.01
- 指南和概述
- 常见问题(FAQ)
- 按字母排序的命令和函数索引
- AutoHotkey 脚本展示
- 变更和新功能
- 基本用法和语法
- 迁移到 AutoHotkey 1.1(AutoHotkey_L)
- 环境管理
- 本机代码互操作
- 文件、目录和磁盘管理
- Drive
- DriveGet
- DriveSpaceFree
- FileAppend
- FileCopy
- FileCopyDir
- FileCreateDir
- FileCreateShortcut
- FileDelete
- FileEncoding [AHK_L 42+]
- FileGetAttrib
- FileGetShortcut
- FileGetSize
- FileGetTime
- FileGetVersion
- FileInstall
- FileMove
- FileMoveDir
- FileOpen [AHK_L 42+]
- FileReadLine
- FileRead
- FileRecycle
- FileRecycleEmpty
- FileRemoveDir
- FileSelectFile
- FileSelectFolder
- FileSetAttrib
- FileSetTime
- IfExist / IfNotExist
- IniDelete
- IniRead
- IniWrite
- Loop(文件和文件夹)
- Loop(读取文件内容)
- SetWorkingDir
- SplitPath
- 流程控制
- 内置函数
- GUI、MsgBox、InputBox 及其他对话框
- 鼠标和键盘
- 鼠标和键盘
- #InstallKeybdHook
- #InstallMouseHook
- #KeyHistory
- BlockInput
- Click [v1.0.43+]
- ControlClick
- ControlSend / ControlSendRaw
- CoordMode
- GetKeyState
- KeyHistory
- KeyWait
- Input
- MouseClick
- MouseClickDrag
- MouseGetPos
- MouseMove
- Send / SendRaw / SendInput / SendPlay / SendEvent: 发送按键和点击
- SendLevel [v1.1.06+]
- SendMode [v1.0.43+]
- SetDefaultMouseSpeed
- SetKeyDelay
- SetMouseDelay
- SetCapsLockState/SetNumLockState/SetScrollLockState
- SetStoreCapslockMode
- 数学相关
- 屏幕管理
- 杂项命令
- 进程管理
- 注册表管理
- 声音命令
- 字符串管理
- 窗口管理
- 控件
- 窗口组
- #WinActivateForce
- DetectHiddenText
- DetectHiddenWindows
- SetTitleMatchMode
- SetWinDelay
- StatusBarGetText
- StatusBarWait
- WinActivate
- WinActivateBottom
- WinClose
- WinGet
- WinGetActiveStats
- WinGetActiveTitle
- WinGetClass
- WinGetPos
- WinGetText
- WinGetTitle
- WinHide
- WinKill
- WinMaximize
- WinMinimize
- WinMinimizeAll / WinMinimizeAllUndo
- WinMove
- WinRestore
- WinSet
- WinSetTitle
- WinShow
- WinWait
- WinWaitActive / WinWaitNotActive
- WinWaitClose
- #指令
SetTitleMatchMode
设置在类似 WinWait 命令中 WinTitle 参数的匹配模式。
SetTitleMatchMode, MatchMode SetTitleMatchMode, Fast|Slow
参数
- MatchMode
下列数字的其中一个或单词 RegEx:
1: 窗口标题必须以指定的 WinTitle 开头.
2:窗口标题的某个位置必须包含 WinTitle。
3: 窗口标题必须准确匹配 WinTitle.RegEx (v1.0.45+): 改变 WinTitle, WinText, ExcludeTitle 以及 ExcludeText 为 正则表达式. 在这些命令中使用时, 不要把正则表达式括在引号中. 例如:
WinActivate Untitled.*Notepad
。RegEx 还适用于 ahk_class;例如,ahk_class IEFrame
会搜索类名包含 IEFrame 的任意窗口(这是由于在默认情况下,正则表达式在目标字符串任意位置查找匹配)。注:对于 WinText,RegEx 会分别与每个文本元素(即每个控件的文本)进行对照来寻找匹配。因此, 匹配不会横跨多个文本元素.上面的模式还会对 ExcludeTitle 产生与 WinTitle 相同的影响。例如, 模式 3 要求被排除的窗口的标题必须准确匹配 ExcludeTitle.
- Fast|Slow
Fast: 这是默认行为. 性能比起 Slow 有较大提升, 但某些类型窗口中的一些 WinText 可能无法被各种窗口命令检测到.
Slow: 速度慢得多, 但窗口命令会获取窗口中所有可能的文本以寻找 WinText 匹配. Window Spy中会显示哪些部分的窗口文本(如果有)需要慢速模式才能匹配到。
备注
此命令影响所有窗口命令的行为, 例如 IfWinExist 和 WinActivate.
如果未指定,则 TitleMatchMode 默认为 1 和 fast 模式。
如果使用 窗口组, 则当前标题匹配模式适用于组中的每个单独的规则.
通常, 在使用标题和 快速 模式的文本无法唯一标识目标窗口时才应该使用 慢速 模式. 这是因为当任意一个应用程序窗口正忙或 "无响应" 时慢速模式会非常慢.
AutoHotkey 自带的 Window Spy 自定义版本会在单独区域中显示 slow 文本, 这样很容易判断是否需要使用 慢速 模式.
如果您想同时改变两个属性, 请执行两次命令, 例如:
SetTitleMatchMode, 2 SetTitleMatchMode, slow
内置变量 A_TitleMatchMode 和 A_TitleMatchModeSpeed 包含了当前的设置.
不管当前的 TitleMatchMode 如何,WinTitle、WinText、ExcludeTitle 和 ExcludeText 都是区分大小写的。唯一的例外是带不区分大小写选项的 RegEx 模式;例如:i)untitled - notepad
。
每个新运行的 线程 (例如 热键, 自定义菜单项 或 定时 子程序) 都会以此命令的默认设置开始. 通过在脚本的自动执行段 (脚本的顶部) 使用此命令可以改变这个默认设置.
相关
SetWinDelay, IfWinExist, WinActivate, RegExMatch()
示例
SetTitleMatchMode 2 ; 或: SetTitleMatchMode RegEx SetTitleMatchMode Slow ; Slow/Fast 可以独立于其他所有模式进行设置.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论