本文最后更新于 1154 天前,其中的信息可能已经有所发展或是发生改变。
本来只想找个能够自定义WINDOWS快捷键的软件或开源代码,结果无意发现了这个有趣的小家伙,常驻内存3M,可以说四舍五入就是0;
官网:https://www.autohotkey.com/ 免费、开源;
中文使用手册:http://ahkcn.sourceforge.net/docs/AutoHotkey.htm;
先说一下个人比较常用的功能,具体的可以看官方文档;
1.快捷键相关
1.1更改全局快捷键:
这也是我最初的目的,可以屏蔽WINDOWS原本的快捷键,毕竟有几个像WIN+A、WIN+Q我个人基本用不到,现在我的桌面只剩下一个回收站啦;
常用的可以设置的组合快捷键大概有CTRL、ALT、SHIFT、CAPS LOCK、WIN等,也有部分特殊键盘键位;
- #:Win
- !:Alt
- +:Shift
- &:用于组合两个按键或鼠标按键
- <(>):选择成对键位中左边(右边)的那个,例如>!a即只有RAlt+a才会触发
- *:通配符,*a表示Alt(Shift、Ctrl、Win等)+a都能触发
- ~:触发快捷键时不会屏蔽Windows原本自带的快捷键
- UP:表示键盘/鼠标释放时才会触发该快捷键(默认为按下时)
举个例子:
;分号为注释,下面一条语句意思为使用Win+q打开“我的文档”,并且屏蔽Windows原本Win+q的功能,桌面图标-- ;两个冒号用来分割快捷键与要执行的语句,如果冒号后换行则需要在最后一行加上return,若在一行中结束则不需要 ;Run表示运行后续的地址,它可以是一个网址、一个软件、一个文件夹等等 #q::Run C:\Users\Administrator
1.2上下文相关快捷键
#IfWinActive/Exist 和 #If 等指令可以让快捷键根据不同的条件执行不同的功能,或者不执行,有如下:
- IfWinActive [, WinTitle, Wintext]
- IfWinExist [, WinTitle, WinText]
- IfWinNotActive [, WinTitle, WinText]
- IfWinNotExist [, WinTitle, WinText]
- If [, Expression]
其中,WinTitle为窗口标题或者目标的其它标识,例如PID、HWND等(太多啦,以后具体用到的话再详写,其它一律看官方文档);
WinText表示目标窗口某个文本元素的子字符串(同Window Spy)