다른 명령
Winapi 가상키 코드
- WinAPI에서 사용되는 가상 키 코드(Virtual-Key Codes)는 키보드의 각 키에 부여된 고유한 식별자입니다.
- 이 코드들은 하드웨어에 독립적이며, 키보드 레이아웃이나 언어 설정과 무관하게 특정 키를 참조하는 데 사용됩니다.
- AutoIt의 Send 함수나 _IsPressed 함수, 그리고 GetAsyncKeyState, GetKeyState와 같은 WinAPI 함수에서 특정 키를 지정할 때 이 가상 키 코드를 사용합니다.
주요 가상 키 코드들을 그룹별 분류
특수 키 (Special Keys)
* VK_LBUTTON (0x01): Left mouse button * VK_RBUTTON (0x02): Right mouse button * VK_CANCEL (0x03): Control-break processing * VK_MBUTTON (0x04): Middle mouse button (three-button mouse) * VK_XBUTTON1 (0x05): X1 mouse button * VK_XBUTTON2 (0x06): X2 mouse button * VK_BACK (0x08): BACKSPACE key * VK_TAB (0x09): TAB key * VK_CLEAR (0x0C): CLEAR key * VK_RETURN (0x0D): ENTER key * VK_SHIFT (0x10): SHIFT key (왼쪽/오른쪽 구별 없이) * VK_CONTROL (0x11): CTRL key (왼쪽/오른쪽 구별 없이) * VK_MENU (0x12): ALT key (왼쪽/오른쪽 구별 없이) * VK_PAUSE (0x13): PAUSE key * VK_CAPITAL (0x14): CAPS LOCK key * VK_KANA (0x15): IME Kana/Hangul mode * VK_JUNJA (0x17): IME Junja mode * VK_FINAL (0x18): IME Final mode * VK_HANJA (0x19): IME Hanja/Kanji mode * VK_ESCAPE (0x1B): ESC key * VK_CONVERT (0x1C): IME convert * VK_NONCONVERT (0x1D): IME nonconvert * VK_ACCEPT (0x1E): IME accept * VK_MODECHANGE (0x1F): IME mode change request * VK_SPACE (0x20): SPACEBAR * VK_PRIOR (0x21): PAGE UP key * VK_NEXT (0x22): PAGE DOWN key * VK_END (0x23): END key * VK_HOME (0x24): HOME key * VK_LEFT (0x25): LEFT ARROW key * VK_UP (0x26): UP ARROW key * VK_RIGHT (0x27): RIGHT ARROW key * VK_DOWN (0x28): DOWN ARROW key * VK_SELECT (0x29): SELECT key * VK_PRINT (0x2A): PRINT key * VK_EXECUTE (0x2B): EXECUTE key * VK_SNAPSHOT (0x2C): PRINT SCREEN key * VK_INSERT (0x2D): INS key * VK_DELETE (0x2E): DEL key * VK_HELP (0x2F): HELP key
숫자 키 (0-9)
* VK_0 (0x30) * VK_1 (0x31) * VK_2 (0x32) * VK_3 (0x33) * VK_4 (0x34) * VK_5 (0x35) * VK_6 (0x36) * VK_7 (0x37) * VK_8 (0x38) * VK_9 (0x39)
알파벳 키 (A-Z)
* VK_A (0x41) * VK_B (0x42) * ... * VK_Z (0x5A)
Windows 로고 키 및 애플리케이션 키
* VK_LWIN (0x5B): Left Windows key (Natural keyboard) * VK_RWIN (0x5C): Right Windows key (Natural keyboard) * VK_APPS (0x5D): Applications key (Natural keyboard)
숫자 키패드 키 (Numeric Keypad Keys)
* VK_NUMPAD0 (0x60) * VK_NUMPAD1 (0x61) * ... * VK_NUMPAD9 (0x69) * VK_MULTIPLY (0x6A): Multiply key * VK_ADD (0x6B): Add key * VK_SEPARATOR (0x6C): Separator key * VK_SUBTRACT (0x6D): Subtract key * VK_DECIMAL (0x6E): Decimal key * VK_DIVIDE (0x6F): Divide key
기능 키 (Function Keys)
* VK_F1 (0x70) * VK_F2 (0x71) * ... * VK_F24 (0x87)
잠금 키 (Lock Keys)
* VK_NUMLOCK (0x90): NUM LOCK key * VK_SCROLL (0x91): SCROLL LOCK key
Shift, Ctrl, Alt 키의 왼쪽/오른쪽 구별
* VK_LSHIFT (0xA0): Left SHIFT key * VK_RSHIFT (0xA1): Right SHIFT key * VK_LCONTROL (0xA2): Left CONTROL key * VK_RCONTROL (0xA3): Right CONTROL key * VK_LMENU (0xA4): Left MENU key (Left ALT key) * VK_RMENU (0xA5): Right MENU key (Right ALT key)
기타 키 (Other Keys)
* VK_BROWSER_BACK (0xA6): Browser Back key * VK_BROWSER_FORWARD (0xA7): Browser Forward key * ... * VK_PLAY (0xFA): Play key * VK_ZOOM (0xFB): Zoom key
참고 사항
- 이 목록은 가장 일반적으로 사용되는 가상 키 코드의 일부입니다. 모든 코드를 포함하지는 않습니다. 전체 목록은 Microsoft의 공식 문서를 참조하는 것이 가장 정확합니다. (예: Virtual-Key Codes (Winuser.h))
- AutoIt의 Send 함수는 대부분의 경우 가상 키 코드를 직접 사용하지 않고, {LControl}, {Shift}, {Enter}와 같은 자체적인 문자열 표현을 사용합니다. 하지만 DllCall을 통해 GetAsyncKeyState나 GetKeyState와 같은 WinAPI 함수를 호출할 때는 반드시 이 가상 키 코드를 사용해야 합니다.
- 키보드 레이아웃이나 언어 설정에 따라 일부 키의 동작 방식이나 사용되는 가상 키 코드가 달라질 수 있습니다.
AutoIt에서 WinAPI 함수를 사용할 때 이 가상 키 코드를 활용하면 키보드 입력 상태를 보다 정확하고 세밀하게 제어할 수 있습니다.