AutoHotKey(오토핫키) 설명서 Send/SendRaw/SendEvent/SendInput/SendPlay

Posted by 발전소장
2014. 8. 14. 13:57 AutoHotKey/Commands

Send/SendRaw/SendEvent/SendInput/SendPlay

키스트로크(keystroke)를 발생시킨다

Send, Keys
SendRow, Keys
SendEvent, Keys
SendInput, Keys
SendPlay, Keys

Parameters

인수명설명
Keys 키스트로크(keystroke).SetKeyDelay그리고 지정된 간격을 비우면서 입력된다.

Remarks

수식 키

hot key의 지정과 같은 수식 키(+=Shift,^=Ctrl,!=Alt,#=Win)(을)를 키명의 전에 붙이면, 수식 키를 누른 것이 된다.

키명

영숫자나, 특별한 의미를 가지지 않는 기호는, 그대로 기술하면 좋다.
Shift(을)를 누르면서 나오는 문자는,Shift+문자의 키가 송신된다.
그 외의 키는, 이하와 같이 「{}」(으)로 둘러싸 지정한다.

{vkXX}(이)나{vkXXscYYY}(와)과 같이 하고, 가상 키코드가XX의 키나, 스캔 코드가YYY의 키를 지정 가능.

연속한 입력

{BS 5}(와)과 같이, 「{}」(으)로 둘러싸고, 오른쪽으로 수치를 지정하면, 여러 차례 누를 수 있다.

눌러 내려 밀어 올려

{Ctrl Down}(이)나{Ctrl Up}(와)과 같이, 「{}」(으)로 둘러싸고,Down(이)나Up(을)를 지정하면, 키를 눌러 그대로 하거나 밀리고 있는 키를 떼어 놓거나 할 수 있다.
수식 키 뿐만이 아니라, 보통 키도 누르고 있을 뿐으로 할 수 있는 것 같지만, 키 반복은 발생하지 않는 모양.

수식 키의 자동 복원

Send커멘드가 시작될 때, 가상적으로 수식 키를 떼어 놓은 상태가 된다.
커멘드 종료시에, 다시 원래의 상태에 되돌려진다.
이 동작은,Keys의 최초로 「{Blind}」(을)를 붙이는 것으로 무효화할 수 있다.

키보드 훅이 사용되고 있는 경우, 물리적인 눌러 인하 상태와 같은 상태에 복원되지만, 훅이 사용되어 있지 않은 경우, 지정 시간이 경과하고 있으면 복원은 실시하지 않고, 지정 시간이 경과하고 있지 않으면Send커멘드 개시전 상태에 복원된다.
이 때의 지정 시간은#HotkeyModifierTimeout지령으로 설정 가능.

특수 기호의 이스케이프와 이스케이프의 불필요한SendRaw커멘드

수식 키를 지정하는 기호나 「{」 「}」 등은, 「{{}}」(와)과 같이 「{}」(으)로 둘러싸면 입력할 수 있다.
SendRaw커멘드는, 수식 키나 특수 키명을 해석하지 않고,Keys인수의 텍스트를 그대로 타이프 치므로, 이러한 기호를 이스케이프 할 필요가 없어진다.

통상의Send커멘드 및ControlSend커멘드에서는,Keys에 「{Raw}」(이)가 포함되면, 그 이후가SendRaw(와)과 같이 수식 키나 특수 키명을 해석하지 않고 보내지게 된다.

SendEvent/SendInput/SendPlay

상기의3커멘드는,Send(와)과 기능은 같지만 입력 생성의 실현 방식이 다르다.
Send커멘드는 통상,SendEvent(와)과 같은 방식을 사용하지만,SendMode커멘드를 사용하는 것으로SendInput(이)나SendPlay의 방식으로 변경할 수 있다.
각각의 모드의 차이 등은,SendMode의 페이지 참조.

특수 키명 일람

특별한 의미를 가지는 문자 키의 이스케이프
Send Command Resulting Keypress
{!} !
{#} #
{+} +
{^} ^
{{} {
{}} }
특수 키
Send Command Resulting Keypress
{F1} - {F24} function key
{ENTER} Enter키
{ESCAPE} or {ESC} ESCAPE
{SPACE} SPACE(인수의 최초나 최후 이외는, 보통으로 반각 스페이스에서 좋다.)
{TAB} TAB
{BACKSPACE} or {BS} Backspace
{DELETE} or {DEL} Delete
{INSERT} or {INS} Insert
{UP} 커서 키위
{DOWN} 커서 키아래
{LEFT} 커서 키의 왼쪽
{RIGHT} 커서 키의 오른쪽
{HOME} Home
{END} End
{PGUP} PageUp
{PGDN} PageDown
{APPSKEY} 어플리케이션 키(context menu가 나오거나 하는 놈)
{SLEEP} SLEEP
{PRINTSCREEN} PRINTSCR
{CTRLBREAK} Ctrl+break
{PAUSE} PAUSE
Lock계
Send Command Resulting Keypress
{CapsLock} CapsLock키(SetCapsLockState그리고 확실히 상태를 제어할 수 있다(NT계만))
{ScrollLock} ScrollLock
{NumLock} NumLock
수식 키
Send Command Resulting Keypress
{CONTROL} or {CTRL} Ctrl키
{LCONTROL} or {LCTRL} 왼쪽의Ctrl키
{RCONTROL} or {RCTRL} 오른쪽의Ctrl키
{CONTROLDOWN} or {CtrlDown} Ctrl키를 눌러 인하 상태로 한다.좌우를 명시적으로 지정하려면 , 「{RCtrl Down}」(와)과 같이 한다.
{CONTROLUP} or {CtrlUp} 눌러 인하 상태를 해제한다
{ALT} ALT
{LALT} 좌Alt
{RALT} 우Alt
{ALTDOWN} Alt키를 눌러 인하 상태로 한다.
{SHIFT} SHIFT
{LSHIFT} 좌Shift
{RSHIFT} 우Shift
{SHIFTDOWN} Shift키를 눌러 인하 상태로 한다
{LWIN} 좌Windows키
{RWIN} 우Windows키
{LWINDOWN} 좌Windows키를 눌러 인하 상태로 한다
{RWINDOWN} 우Windows키를 눌러 인하 상태로 한다
숫자 패드
Send Command Resulting Keypress
{Numpad0} - {Numpad9} 숫자 패드의 숫자 키
{NumpadDot} 숫자 패드의 「.」
{NumpadEnter} Enter key on keypad
{NumpadMult} Numpad Multiply
{NumpadDiv} Numpad Divide
{NumpadAdd} Numpad Add
{NumpadSub} Numpad Subtract
{NumpadDel} Delete key on keypad (this key and the following Numpad keys are used when Numlock is OFF)
{NumpadIns} Insert key on keypad
{NumpadClear} Clear key on keypad (usually the '5' key).
{NumpadUp} Cursor up key on keypad
{NumpadDown} Cursor down key on keypad
{NumpadLeft} Cursor left key on keypad
{NumpadRight} Cursor right key on keypad
{NumpadHome} Home key on keypad
{NumpadEnd} End key on keypad
{NumpadPgUp} Page up key on keypad
{NumpadPgDn} Page down key on keypad
다기능 키보드의 특수 키
Send Command Resulting Keypress
{BROWSER_BACK} 2000/XP Only: Select the browser "back" button
{BROWSER_FORWARD} 2000/XP Only: Select the browser "forward" button
{BROWSER_REFRESH} 2000/XP Only: Select the browser "refresh" button
{BROWSER_STOP} 2000/XP Only: Select the browser "stop" button
{BROWSER_SEARCH} 2000/XP Only: Select the browser "search" button
{BROWSER_FAVORITES} 2000/XP Only: Select the browser "favorites" button
{BROWSER_HOME} 2000/XP Only: Launch the browser and go to the home page
{VOLUME_MUTE} 2000/XP Only: Mute the volume
{VOLUME_DOWN} 2000/XP Only: Reduce the volume
{VOLUME_UP} 2000/XP Only: Increase the volume
{MEDIA_NEXT} 2000/XP Only: Select next track in media player
{MEDIA_PREV} 2000/XP Only: Select previous track in media player
{MEDIA_STOP} 2000/XP Only: Stop media player
{MEDIA_PLAY_PAUSE} 2000/XP Only: Play/pause media player
{LAUNCH_MAIL} 2000/XP Only: Launch the email application
{LAUNCH_MEDIA} 2000/XP Only: Launch media player
{LAUNCH_APP1} 2000/XP Only: Launch user app1
{LAUNCH_APP2} 2000/XP Only: Launch user app2
직접 지정
Send Command Resulting Keypress
{ASC nnnnn} 키보드에 없는 문자를 입력한다.
nnnnn에는 문자 코드를 지정한다.
1...255그리고ASCII코드,0128...0255그리고ANSI코드,256...65535그리고Unicode(을)를 지정 가능.
원문에는Unicode(이)라고 써 있었지만,ShiftJIS코드를 지정하면 일본어의 코드를 입력할 수 있었다.

내부적으로는,Alt(을)를 누르면서 숫자 패드의 숫자를 송신하고 있다.
{vkXX} or {vkXXscYYY} 가상 키코드XX, 스캔 코드YYY의 키를 송신한다.
XX(와)과YYY하16진수.
YYY(을)를 생략 했을 경우, 가상 키코드로 설정된 디폴트의 스캔 코드가 된다.
AutoHotkey윈도우 메뉴의 「View」→「Key history」(으)로 키코드를 표시 가능.
mouse button
Send Command Resulting Keypress
{LButton}
{RButton}
{MButton}
{XButton1}
{XButton2}
{WheelDown}
{WheelUp}
각 마우스 조작을 송신한다.현재의 커서 위치에서의 조작이 된다.
{Click[, options]} 클릭 조작을 실시한다.
Options의 서식 등은,Click커멘드와 같다.

Related

SetKeyDelay, SetStoreCapslockMode, ControlSend, WinActivate

Example(s)

Send, Sincerely,{enter}John Smith
Send, !fs ; Select the File->Save menu (Alt+F followed by S).