需求:为edge设置快捷键,之前还想着通过运行/cmd实现,但是都找不到方法,意外发现AHK有检查窗口功能,就推敲出另一方法。不止于Edge,此方法还可以为其他不带唤醒/激活窗口快捷键的程序设置快捷键。
最后再接一个小应用,就是获取复制地址即可直接跳转至浏览器打开
方案1 简单粗暴用win+1唤醒
将edge固定在任务栏第一个,即可通过win+1岁时唤醒,但想将win+1设置为其他功能,毕竟win+1、2、3…不常用。
方案2 AHK
- 鉴于设计中文字符乱码的问题,首先设置记事本编码为utf8带签名,因为不同编辑器的编码方式不一样,具体自行百度。笔者使用的是notepad3
- 配合winexist、winactive、run
方法1就是通过找到包含窗口Edge的唤醒,注意首行代码很重要,用于设置识别方式
SetTitleMatchMode 2
If WinExist("Edge")
{
WinActivate
MsgBox already exists.
return
}
else
{ run msedge
MsgBox does not exist.
return
}
方法2,以网易云音乐为例,可以通过窗口类名搜索
If WinExist("ahk_class OrpheusBrowserHost")
{
WinActivate
MsgBox already exists.
return
}
else
{ run cloudmusic
MsgBox does not exist.
return
}
最后再简单优化一下,封装成方法
judgeActivate(winName , exeName){
SetTitleMatchMode 2
If WinExist(winName)
{
if WinActive(){
WinMinimize
return
}
WinActivate
return
}
else
{
run % exeName
return
}
}
#7::judgeActivate("Edge","msedge")
类名这里是通过自带的spy程序获得
也可以通过之前使用的触摸板手势软件获得的
其他
文档的这个方式,试过行不通。
应用:【AHK】复制链接并跳转到浏览器打开
^F1::
send,^c
if(InStr(Clipboard, "http")){
judgeActivate("Edge","msedge")
run %Clipboard%
}
return