曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 7421|回复: 0
打印 上一主题 下一主题

使用 WinActivate 来激活某个窗口||SetTitleMatchMode 设置标题匹配模式

[复制链接]

12

主题

16

帖子

55

积分

超级版主

Rank: 9Rank: 9Rank: 9

积分
55
跳转到指定楼层
楼主
发表于 2011-12-4 21:27:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
WinActivate 命令用来激活某个窗口,它的使用语法为:
[Plain Text] 纯文本查看 复制代码
WinActivate [, WinTitle, WinText, ExcludeTitle, ExcludeText]


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



中的 "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" :



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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-4-29 15:13 , Processed in 0.062269 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表