曲径通幽论坛

标题: 使用 WinActivate 来激活某个窗口||SetTitleMatchMode 设置标题匹配模式 [打印本页]

作者: 水中月    时间: 2011-12-4 21:27
标题: 使用 WinActivate 来激活某个窗口||SetTitleMatchMode 设置标题匹配模式
WinActivate 命令用来激活某个窗口,它的使用语法为:
[Plain Text] 纯文本查看 复制代码
WinActivate [, WinTitle, WinText, ExcludeTitle, ExcludeText]


后面的几个可选项中,最为常用的是 WinTtile ,也就是标题栏上的文字,如下图:
[attach]92[/attach]


中的 "winactive.ahk - 记事本" 就是 WinTitle 。在这里需要注意的是,如果你的 Windows 系统是中文的,而且你安装的 Autohotkey 版本并不支持中文环境,那么下面的这条语句将不能成功激活当前窗口:
WinActivate test1.txt - 记事本

遇到这种情况,可以使用 SetTitleMatchMode 来设定只匹配标题中的部分字串,比如:
SetTitleMatchMode 2
表示匹配包含指定的 WinTitle 字串的窗口标题。比如当我设置
WinActivate test1.txt - 记事本 失效时,可以先设置
SetTitleMatchMode 2 ,然后再用
WinActivate test1.txt 语句即可激活“
test1.txt - 记事本” 这个标题窗口。

[/table]
[table=100%,#f7f7f7]检验测试

下面新建两个文本,一个是 test1.txt ,一个是 test2.txt ,都用记事本打开他们,然后执行下面的脚本代码:
[Plain Text] 纯文本查看 复制代码
#s::
sleep 3000
SetTitleMatchMode 2
WinActivate, test1.txt
Send i am test1.txt
sleep 3000
WinActivate, test2.txt
Send i am test2.txt
return

上面的代码中的 sleep 3000 表示延迟 3 秒,这是为了更好的观察。当我们按下 Win + s 组合键时,就可以看到先在 test1.txt 这个文本里自动输入 "i am test1.txt" ,3 秒后看到自动切换到 test2.txt 这个文本里自动输入 "i am test2.txt" :
[attach]93[/attach]


关于 WinActive 和 SetTitleMatchMode 命令的更多选项和说明参考说明手册。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2