WinActivate


激活匹配指定条件的窗口(将它置于最前端)。

WinActivate [, WinTitle, WinText, ExcludeTitle, ExcludeText]

参数

WinTitle 目标窗口的标题或标题中的部分文字(匹配模式由 SetTitleMatchMode 决定)。如果省略所有的参数,默认目标是 上一次匹配窗口 。要用窗口的 class 名进行匹配,使用 ahk_class 精确 class 名(Window Spy 中可以显示 class 名)。要用窗口的 进程标识符(PID)进行匹配,使用 ahk_pid %PID变量% 。要用 窗口组 ,使用 ahk_group 组名 。要用窗口的 唯一 ID 进行匹配,使用 ahk_id %ID变量% 。要减小检测范围,使用 多重条件 ,例如:My File.txt ahk_class Notepad
WinText 如果使用这个参数,则它应该是目标窗口中某个文本元素的子字符串(在 Window Spy 中会显示出窗口中的文本元素)。隐藏文本只有在 DetectHiddenText 设置为 ON 的时候才能检测到。
ExcludeTitle 标题中包含该参数指定的文字的窗口将被除外。
ExcludeText 文本元素中包含该参数指定的文字的窗口将被除外。

注意

如果窗口处于最小化状态,它首先会还原到原来的状态,再被激活。

在 60ms 中,脚本会对目标窗口的激活进行 6 次尝试。因此,一般情况下在 WinActivate 命令之后不需要使用 WinWaitActive 命令。

如果匹配的窗口已经处于激活状态,那么它会继续保持激活状态,脚本不会再去激活其它的匹配窗口。一般情况下,如果匹配的窗口不止一个,处于最前端(最近使用)的窗口将被激活。也可以使用 WinActivateBottom 激活最底端(最久一次使用)的窗口。

如果一个窗口紧接着另一个窗口的激活事件之后被激活,任务栏可能会闪烁(取决于系统和设置)。要防止这种现象,使用 #WinActivateForce

窗口的标题和窗口中的文字是大小写敏感的。要检测隐藏窗口,必须打开 DetectHiddenWindows

相关命令

WinActivateBottom, #WinActivateForce, SetTitleMatchMode, DetectHiddenWindows, Last Found Window, IfWinExist, IfWinActive, WinWaitActive, WinWait, WinWaitClose, WinClose, GroupActivate, WinSet

示例

IfWinExist, Untitled - Notepad
    WinActivate ; 使用上一句找到的窗口
else
    WinActivate, Calculator