功能和 WinActivate 一样,只是这个是激活最底端的(至少最近激活的)窗口,而不是最顶端的。
WinActivateBottom [, 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 | 文本元素中包含该参数指定的文字的窗口将被除外。 |
如果只有一个匹配窗口,WinActivateBottom 完全和 WinActivate 一样。
Window groups 更加高级和方便,为了提高脚本的功能性和适应性,应该尽量使用它。
如果窗口处于最小化状态,它首先会还原,再被激活。
在 60ms 中,脚本会对目标窗口的激活进行 6 次尝试。因此,一般情况下在 WinActivate 命令之后不需要使用 WinWaitActive 命令。
和 WinActivate 不同,这个命令中不能使用 上一次匹配窗口 ,因为它可能不是最底端的窗口。因此,至少要有一个参数不为空。
如果一个窗口紧接着另一个窗口的激活事件之后被激活,任务栏可能会闪烁(取决于系统和设置)。要防止这种现象,使用 #WinActivateForce 。
窗口的标题和窗口中的文字是大小写敏感的。要检测隐藏窗口,必须打开 DetectHiddenWindows 。
WinActivate, #WinActivateForce, SetTitleMatchMode, DetectHiddenWindows, IfWinExist, IfWinActive, WinWaitActive, WinWait, WinWaitClose, GroupActivate
; 这个快捷键让你以从最老到最新的顺序访问所有打开的浏览器窗口
#i::
SetTitleMatchMode, 2
WinActivateBottom, - Microsoft Internet Explorer
return