# 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