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。
 
 
 
 





附件列表

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM