輕鬆學會AutoHotkey的熱鍵:熱鍵用法實例解說(AHK #4)

AutoHotkey的熱鍵表示式

AutoHotkey熱鍵語法

;; 只有一個動作時可寫在同一行
按鍵::執行的動作



;; 一個動作以上時必須寫在下一行,最後用 return 結束
按鍵::
    執行的動作1
    執行的動作2
    ;; ...執行的動作N...
    return

常用的按鍵字串

AutoHotkey的按鍵要在熱字串裡使用時,要用大括號夾住按鍵,以下是幾個常用的按鍵,完整的清單可參考List of Keys (Keyboard, Mouse and Joystick)

常用按鍵 說明
LButton, MButton, RButton 滑鼠左鍵、滾輪與右鍵
WheelDown, WheelUp 滾輪壓下與放開
WheelLeft, WheelRight 滾輪向左與向右
Up, Down, Left, Right 上下左右鍵
Tab, Enter, Escape, Backspace 對應按鍵
SCnnn Scan Code nnn
VKnn Virtual Key nn

無法在按鍵清單找到的特殊按鍵(不是標準鍵盤時會有特殊字元,例如音量變大、音量變小等)可以使用下列步驟找到其Scan code或Virtual key:

  1. 在系統匣找到你的腳本檔AutoHotkey圖示,雙擊之,AutoHotkey視窗會自動彈出
  2. 功能表 【View】→【Key history and script info】 或按〔Ctrl+K〕
  3. 按下要偵測的按鍵
  4. 按〔F5〕重新顯示按鍵歷史
  5. 最後面F5上面的就有被偵測按鍵的資訊:第一個欄位是VK,第二個欄位是SC

找到SC的三個十六進位值後就能針對這個按鍵做控制,例如:

;; 音量特殊按鍵
SC12E::
  MsgBox 音量減小!
  return

;; 音量特殊按鍵
SC130::
  MsgBox 音量加大!
  return

熱鍵範例:

按鍵符號 按鍵
^ Ctrl
! Alt
+ Shift
# Win
* 萬用按鍵。
*#n:: 表示(Alt、Ctrl、Shift各種組合)+Win+n皆生效
& 將鍵盤按鍵與滑鼠按鈕等兩個鍵結合一個按鍵
(按住第一個不放再按第二個)
~ 不抑制原按鍵,原按鍵功能繼續保留
$ 用Send指令送出相同按鍵時要加 $
符號 說明
< 左邊的按鍵
> 右邊的按鍵
#n::Run notepad  ; Win+n

; 系統所有的右鍵功能表都變成新的設定了
RButton::MsgBox 你按了滑鼠右鍵

; 系統的右鍵功能表與新的設定同時存在
~RButton::MsgBox 你按了滑鼠右鍵

; 會不斷輸出 bcbcbcbcbcbcbc....
a::Send abc

; 正常輸出 abc
$a::Send abc

; 完全停用某個按鍵。下例停用{右Win}
>#::return

熱鍵範例

範例1

功能:按〔Ctrl+Alt+F4〕關閉同一個應用程式的一或多個執行實例

^!f4::
  ; 把作用中的視窗類別存入變數 sClass
  WinGetClass, sClass, A
  ; 關閉相同的類別視窗
  while WinExist("ahk_class " . sClass) {
    WinClose
  }
  return

範例2

功能:按〔LButton+Escape〕關閉目前視窗

~LButton & Escape::
  WinGetActiveTitle, Title
  WinClose, %Title%
  return

實例解說影片

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

2 個回應

  1. 皇哲琛表示:

    ahk要如何偵測電腦的時間 來啟動我要的程式? 例如:電腦時間到了9:00自動啟動小畫家。

    • 簡睿表示:

      加一個Windows的「排定的工作」,設定好時間執行你的.ahk。
      依你舉例的需求,不須透過AutoHotkey,直接用Windows的排程就可以了。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *