AutoHotkey-我的实例解释
- 基础知识:
#代表win,+代表shift,^代表Ctrl,!代表Alt,LButton和RButton分别代表左右按键,~表示按住后面的按键(~LButton表示按住左键)。
其他按键可以直接用原字符,组合按键大多数可以直接相连(#V表示win+v),多字符的按键相连时可以用{}区分字符(!{Tab}表示Alt+Tab),鼠标之间组合可以使用&(~LButton & RButton 按住左右键(更确切的说是按住左键的同时,按下右键。))
注释是;在行首
- 组合按键运行应用
按下Win+V运行Emeditor:
#v::run "D:\Program Files\EmEditor\EmEditor.exe"return
run的效果就相当于在运行里面执行的效果,可以是exe,可以是打开文件夹。
来个鼠标的:
按住左右键(更确切的说是按住左键的同时,按下右键。)运行VistaSwitcher
~LButton&RButton::run "D:\Program Files\VistaSwitcher\vswitch64.exe"return
- 组合键相互替换
windows有一些默认的组合键很常用,但是位置比较着急。可以用组合键替换之。
用win+w来替换alt+t,(alt+t在windows中是预览任务栏的功能)
#w::send #treturn
就一个send命令!
- 进阶一点点:
显然如此简单的功能低估了autohotkey,autohotkey也可以有变量有函数有复杂语句:
if(){}elseif(){}else{}
是最常用的,注意判断是=,而非==
还可以声明变量,如果是全局的,在ahk文件的最上面声明最好。
- 操作Windows窗口
这个地方用到的api比较多,推荐《Autohotkey-命令列表》
让当前窗口最小化:
#M::WinMinimize A;WinMinimize最小化命令,A表示当前窗口return
通过变量让所有窗口最小化或者撤销:
wind =0;win+d to Minimize all windows and undo#D::;MsgBox,%wind%;use the variable to decide minimize or undoif(wind =0){WinMinimizeAllwind =1}elseif(wind =1){WinMinimizeAllUndowind =0}return
MsgBox是弹出提示框,后面的是字符,带%%就可以表示变量了。
更复杂一点的,操作指定的窗口:如果没有这个窗口,则打开exe。如果有,且不再前台的话,激活到前台。如果在前台,关闭之。
注意一下的Win操作,都是对窗口标题的检测!!与后面的进程操作不一样。
;win+X to run SpeedCrunch#X::IfWinActive,SpeedCrunchWinClose,SpeedCrunchElseIfWinExist,SpeedCrunchWinActivate,SpeedCrunchElseRun"C:\Program Files\SpeedCrunch\speedcrunch.exe"Return
- 操作进程
现实中有些windows程序是没有窗口标题,或者窗口标题变化,有的甚至没有窗口,这时候需要通过进程来来操作。
通过进程打开evernote,并实现前台后台切换。
;;win+] to run evernote and hideProcess,Exist,Evernote.exeif(ErrorLevel=0){Run"D:\Program Files\Evernote\Evernote\Evernote.exe"}else{;there is to show how to use pid to active and hideIfWinNotActive ahk_pid %ErrorLevel%Send^!b;if evernote is not in front, use its default shortcut keyelseWinClose ahk_pid %ErrorLevel%;if it is in front, close it}
通过Process, Exist 得到是进程pid,存在ErrorLevel中,没有则为0。
可以直接去看我的github。
附件列表


浙公网安备 33010602011771号