AutoHotkey-个人实例解释

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





附件列表

相关文章
相关标签/搜索