메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Winapi 가상키 코드

데브카페

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 함수를 사용할 때 이 가상 키 코드를 활용하면 키보드 입력 상태를 보다 정확하고 세밀하게 제어할 수 있습니다.

Comments