##title##

2015年4月3日

Autohotkey:Key Names&轉義序列

Key Names



按鍵名稱
生成的鍵擊
{F1} - {F24}
功能鍵. 例如: {F12} 表示 F12 .
{!}
!
{#}
#
{+}
+
{^}
^
{{}
{
{}}
}
{Enter}
主鍵盤上的 ENTER
{Escape} {Esc}
ESCAPE
{Space}
SPACE (僅對於要發送的按鍵序列開始或末尾的空格才需要這樣表示, 而序列中間的空格是原義的)
{Tab}
TAB
{Backspace} {BS}
Backspace
{Delete} {Del}
Delete
{Insert} {Ins}
Insert
{Up}
主鍵盤上的向上鍵
{Down}
主鍵盤上的向下鍵
{Left}
主鍵盤上的向左鍵
{Right}
主鍵盤上的向右鍵
{Home}
主鍵盤上的 Home
{End}
主鍵盤上的 End
{PgUp}
主鍵盤上的向上翻頁鍵
{PgDn}
主鍵盤上的向下翻頁鍵


{CapsLock}
CapsLock ( NT/2k/XP 中使用 SetCapsLockState 更可靠). 發送 {CapsLock} 之前可能要求 SetStoreCapslockMode Off.
{ScrollLock}
ScrollLock (另請參閱: SetScrollLockState)
{NumLock}
NumLock (另請參閱: SetNumLockState)


{Control} {Ctrl}
CONTROL (技術信息: 發送中性的虛擬按鍵代碼和左邊的掃瞄碼, 即在 vkXXscYYY , XX 為中性的而 YYY 為左邊的掃瞄碼)
{LControl} {LCtrl}
CONTROL (技術信息: Win9x 中等同於 CONTROL, 但在 NT/2k/XP 中它發送左邊的虛擬按鍵而不是中性的)
{RControl} {RCtrl}
CONTROL
{Control Down} {Ctrl Down}
按住 CONTROL 鍵直到發送 {Ctrl Up}. XP/2000/NT: 要按住左邊或右邊的鍵, 請使用 {RCtrl Down} {RCtrl Up}.


{Alt}
ALT (技術信息: 發送中性的虛擬按鍵和左邊的掃瞄碼)
{LAlt}
ALT (技術信息: Win9x 中等同於 ALT, 但在 NT/2k/XP 中它發送左邊的虛擬按鍵而不是中性的)
{RAlt}
ALT ( AltGr, 取決於鍵盤佈局)
{Alt Down}
按住 ALT 鍵直到發送 {Alt Up}. XP/2000/NT: 要按住左邊或右邊的鍵, 請使用 {RAlt Down} {RAlt Up}.


{Shift}
SHIFT (技術信息: 發送中性的虛擬按鍵和左邊的掃瞄碼)
{LShift}
SHIFT (技術信息: Win9x 中等同於 SHIFT, 但在 NT/2k/XP 中它發送左邊的虛擬按鍵而不是中性的)
{RShift}
SHIFT
{Shift Down}
按住 SHIFT 鍵直到發送 {Shift Up}. XP/2000/NT: 要按住左邊或右邊的鍵, 請使用 {RShift Down} {RShift Up}.


{LWin}
Windows
{RWin}
Windows
{LWin Down}
按住左 Windows 鍵直到發送 {LWin Up}
{RWin Down}
按住右 Windows 鍵直到發送 {RWin Up}


{AppsKey}
Windows Appskey (調用右鍵點擊或上下文菜單)
{Sleep}
電腦 SLEEP .
{ASC nnnnn}
發送 ALT+nnnnn 小鍵盤上的按鍵組合, 可以用來生成鍵盤上不存在的特殊字符. 要生成 ASCII 字符, 請指定一個介於 1 255 之間的數字. 要生成 ANSI 字符 (在大多數語言中的標準), 請指定一個介於 128 255 之間的數字, 但需要在數字前加上一個前導零, 例如 {Asc 0133}.
要生成 Unicode 字符, 請指定一個介於 256 65535 之間的數字 (不帶前導零). 但是, 有些應用程序不支持這種方法. 對於替代方法, 請參閱下面的部分.
{U+nnnn}
[AHK_L 24+]: 發送 Unicode 字符, 其中 nnnn 為不包括 0x 前綴的字符的十六進制值. AutoHotkey Unicode 版本中通常不需要這麼做, 因為它包含的 Send ControlSend 自動支持 Unicode 文本.
如果這個字符沒有映射為一個虛擬按鍵代碼, 則使用 SendInput() WM_CHAR 發送這個字符而當前的發送模式無效.
{vkXX}
{scYYY}
{vkXXscYYY}
發送一個虛擬按鍵為 XX 且掃瞄碼為 YYY 的鍵擊. 例如: Send {vkFFsc159}. 如果省略了 sc vk 部分, 則會發送最適當的值.
XX YYY 是十六進制值, 通常可以在主窗口的 View->Key history 菜單項找到. 另請參閱: 特殊按鍵


{Numpad0} - {Numpad9}
小鍵盤上的數字鍵 ( Numlock 打開時輸入的一樣). 例如: {Numpad5} 為數字 5.
{NumpadDot}
小鍵盤上的點 ( Numlock 打開時輸入的一樣).
{NumpadEnter}
小鍵盤上的 Enter
{NumpadMult}
小鍵盤上的乘
{NumpadDiv}
小鍵盤上的除
{NumpadAdd}
小鍵盤上的加
{NumpadSub}
小鍵盤上的減


{NumpadDel}
小鍵盤上的 Delete (此鍵和後面的小鍵盤按鍵是在 Numlock 關閉時輸入的)
{NumpadIns}
小鍵盤上的 Insert
{NumpadClear}
小鍵盤上的 Clear (通常在 Numlock 關閉時輸入 '5' 的鍵).
{NumpadUp}
小鍵盤上的向上鍵
{NumpadDown}
小鍵盤上的向下鍵
{NumpadLeft}
小鍵盤上的向左鍵
{NumpadRight}
小鍵盤上的向右鍵
{NumpadHome}
小鍵盤上的 Home
{NumpadEnd}
小鍵盤上的 End
{NumpadPgUp}
小鍵盤上的向上翻頁鍵
{NumpadPgDn}
小鍵盤上的向下翻頁鍵


{Browser_Back}
2000/XP/Vista+: 按下瀏覽器的 "後退" 按鈕
{Browser_Forward}
2000/XP/Vista+: 按下瀏覽器的 "前進" 按鈕
{Browser_Refresh}
2000/XP/Vista+: 按下瀏覽器的 "刷新" 按鈕
{Browser_Stop}
2000/XP/Vista+: 按下瀏覽器的 "停止" 按鈕
{Browser_Search}
2000/XP/Vista+: 按下瀏覽器的 "搜索" 按鈕
{Browser_Favorites}
2000/XP/Vista+: 按下瀏覽器的 "收藏" 按鈕
{Browser_Home}
2000/XP/Vista+: 啟動瀏覽器並打開主頁
{Volume_Mute}
2000/XP/Vista+: 主音量靜音/取消靜音. 通常相當於 SoundSet, +1, , mute
{Volume_Down}
2000/XP/Vista+: 減小主音量. 通常相當於 SoundSet -5
{Volume_Up}
2000/XP/Vista+: 增加主音量. 通常相當於 SoundSet +5
{Media_Next}
2000/XP/Vista+: 在媒體播放器中播放下一曲目
{Media_Prev}
2000/XP/Vista+: 在媒體播放器中播放前一曲目
{Media_Stop}
2000/XP/Vista+: 停止媒體播放器
{Media_Play_Pause}
2000/XP/Vista+: 播放/暫停媒體播放器
{Launch_Mail}
2000/XP/Vista+: 啟動電子郵件程序
{Launch_Media}
2000/XP/Vista+: 啟動媒體播放器
{Launch_App1}
2000/XP/Vista+: 啟動用戶程序 1
{Launch_App2}
2000/XP/Vista+: 啟動用戶程序 2


{PrintScreen}
Print Screen
{CtrlBreak}
Ctrl+break
{Pause}
Pause


{Click [选项]}
[v1.0.43+]
使用與 Click 命令 中相同的可用選項發送鼠標點擊. 例如, {Click} 會在鼠標光標當前位置點擊一次鼠標左鍵, {Click 100, 200} 則在坐標 100, 200 處點擊 (這裡的坐標模式取決於 CoordMode). 要移動鼠標而不點擊, 請在坐標後指定 0; 例如: {Click 100, 200, 0}. 在鼠標點擊之間的延遲由 SetMouseDelay 決定 (而不是 SetKeyDelay).
{WheelDown}, {WheelUp}, {WheelLeft}, {WheelRight}, {LButton}, {RButton}, {MButton}, {XButton1}, {XButton2}
向指針當前位置發送鼠標按鈕事件 (要指定位置和其他選項, 請使用上面的 {Click}). 在鼠標點擊之間的延遲由 SetMouseDelay 決定. WheelLeft/Right 需要 v1.0.48+, 並且在 Windows Vista 之前的操作系統中沒有效果.
{Blind}
當按鍵序列中首個項目為 {Blind} , 如果 Alt/Control/Shift/Win 在發送開始時為按下的狀態則不鬆開. 例如, 熱鍵 +s::Send {Blind}abc 將發送 ABC 而不是 abc, 因為用戶按住了 Shift .
{Blind} 還會忽略 SetStoreCapslockMode; 即不會改變 Capslock 的狀態. 最後, {Blind} 會忽略發送的鍵擊中的額外控制功能; 這樣的鍵擊中可以避免後面的情況: 1) 發送 LWin/RWin 鍵擊時出現開始菜單; 2) 發送 Alt 鍵擊時激活菜單欄.
按鍵的重映射 內部使用了 Blind 模式. 例如, 重映射 a::b 會發生這樣的情況: 1) 輸入 "a" 時會映射為 "b"; 2) 輸入大寫字母 A 時映射為大寫字母 B; 並且 3) 按下 Control-A 時映射為按了 Control-B.
SendRaw ControlSendRaw 不支持 {Blind}. 此外, SendPlay 也不完全支持這種模式, 尤其是在處理修飾鍵 (Control, Alt, Shift Win) .
{Raw}
[v1.0.43+]
準確按照原樣發送鍵擊, 而不把 {Enter} 轉換成 ENTER 鍵擊, ^c 轉換成 Control-C, 等等. {Raw} 可以不放在按鍵序列的開始處, 在按鍵序列中出現時, 它會影響它後面的剩餘部分.



轉義序列



輸入這些字符
得到這些字符
`,
, (原義的逗號). 注意: 在命令最後一個參數中的逗號不需要轉義, 因為程序知道把它們作為原義處理. 對於 MsgBox 所有參數同樣如此, 因為它會智能的處理逗號.
`%
% (原義的百分號)
``
` (原義的重音符; 即兩個連續的轉義符產生單個原義字符)
`;
 ; (原義的分號). 注意: 在分號的左邊有空格或 tab 才需要. 如果沒有, 那麼它可以被正常識別而不需要轉義.
`::
:: (原義的雙冒號). v1.0.40+, 不再需要對它們進行轉義.
`n
新行 (換行/LF)
`r
回車 (CR)
`b
退格
`t
tab (最典型的水平移位)
`v
垂直 tab -- 對應的 Ascii 值為 11. 在一些應用程序中可以通過鍵入 Control+K 讓它顯示出來.
`a
警告 () -- 對應的 Ascii 值為 7. 在一些應用程序中可以通過鍵入 Control+G 讓它顯示出來.
`f
進紙 -- 對應的 Ascii 值為 12. 在一些應用程序中可以通過鍵入 Control+L 讓它顯示出來.
Send
以默認 (非原始) 模式使用 Send 命令 熱字串 , {}^!+# 這些字符具有特殊含義. 因此, 要使用它們的原義字符, 必須把它們包圍在大括號中. 例如: Send {^}{!}{{}
""
表達式 , 原義字符串內的兩個連續的引號被解析為單個原義的引號. 例如: Var := "The color ""red"" was found."