VB6를 깔면 API뷰어라는 프로그램이 깔립니다.
거기에 사용되는 텍스트파일입니다.
키보드 상수(VK), 윈도우 메시지(WM), 선언문등이 다 있습니다.
다운받기 : WIN32API.TXT
===============================================================================================
이넘의 API 때문에 상수 목록을 찾아봤습니다.
VB 깔면 API 뷰어에서 찾아볼 수 있다는데.. 키보드 상수 몇개 알아볼라고 깔기도 귀찮아서 찾아봤죠.. ㅋ
Control키는 VK_CONTROL이고 Shift키는 VK_SHIFT인데 Alt키는 왜 VK_MENU인건지.. 한참 찾았네.. =_=;;
출처 : http://haitrang.wordpress.com/2008/08/27/new-keyboard/
Public Enum wVk As Short
VK_CANCEL = &H3 ‘BREAK(Control+Pause) key(ExtendedKey) VK_BACK = &H8 ‘BACKSPACE key VK_TAB = &H9 ‘TAB key VK_CLEAR = &HC VK_RETURN = &HD ‘ENTER key VK_SHIFT = &H10 ‘SHIFT key VK_CONTROL = &H11 ‘CTRL key VK_MENU = &H12 ‘ALT key VK_PAUSE = &H13 ‘PAUSE key VK_CAPITAL = &H14 ‘CAPS LOCK key VK_KANA = &H15 ‘IME かな mode VK_JUNJA = &H17 VK_FINAL = &H18 VK_KANJI = &H19 ‘IME 漢字 mode VK_ESCAPE = &H1B ‘ESC key VK_CONVERT = &H1C ‘IME 変換 key VK_NONCONVERT = &H1D ‘IME 無変換 key VK_ACCEPT = &H1E VK_MODECHANGE = &H1F VK_SPACE = &H20 ‘SPACEBAR VK_PRIOR = &H21 ‘PAGE UP key(ExtendedKey) VK_NEXT = &H22 ‘PAGE DOWN key(ExtendedKey) VK_END = &H23 ‘END key(ExtendedKey) VK_HOME = &H24 ‘HOME key(ExtendedKey) VK_LEFT = &H25 ‘← key(ExtendedKey) VK_UP = &H26 ‘↑ key(ExtendedKey) VK_RIGHT = &H27 ‘→ key(ExtendedKey) VK_DOWN = &H28 ‘↓ key(ExtendedKey) VK_SELECT = &H29 VK_PRINT = &H2A VK_EXECUTE = &H2B VK_SNAPSHOT = &H2C ‘PRINT SCREEN key(ExtendedKey) VK_INSERT = &H2D ‘INS key(ExtendedKey) VK_DELETE = &H2E ‘DEL key(ExtendedKey) VK_HELP = &H2F VK_0 = &H30 ‘0 key VK_1 = &H31 ‘1 key VK_2 = &H32 ‘2 key VK_3 = &H33 ‘3 key VK_4 = &H34 ‘4 key VK_5 = &H35 ‘5 key VK_6 = &H36 ‘6 key VK_7 = &H37 ‘7 key VK_8 = &H38 ‘8 key VK_9 = &H39 ‘9 key VK_A = &H41 ‘A key VK_B = &H42 ‘B key VK_C = &H43 ‘C key VK_D = &H44 ‘D key VK_E = &H45 ‘E key VK_F = &H46 ‘F key VK_G = &H47 ‘G key VK_H = &H48 ‘H key VK_I = &H49 ‘I key VK_J = &H4A ‘J key VK_K = &H4B ‘K key VK_L = &H4C ‘L key VK_M = &H4D ‘M key VK_N = &H4E ‘N key VK_O = &H4F ‘O key VK_P = &H50 ‘P key VK_Q = &H51 ‘Q key VK_R = &H52 ‘R key VK_S = &H53 ‘S key VK_T = &H54 ‘T key VK_U = &H55 ‘U key VK_V = &H56 ‘V key VK_W = &H57 ‘W key VK_X = &H58 ‘X key VK_Y = &H59 ‘Y key VK_Z = &H5A ‘Z key VK_LWIN = &H5B ‘Left Windows key VK_RWIN = &H5C ‘Right Windows key VK_APPS = &H5D ‘ Applications key VK_NUMPAD0 = &H60 ‘Numeric keypad 0 key VK_NUMPAD1 = &H61 ‘Numeric keypad 1 key VK_NUMPAD2 = &H62 ‘Numeric keypad 2 key VK_NUMPAD3 = &H63 ‘Numeric keypad 3 key VK_NUMPAD4 = &H64 ‘Numeric keypad 4 key VK_NUMPAD5 = &H65 ‘Numeric keypad 5 key VK_NUMPAD6 = &H66 ‘Numeric keypad 6 key VK_NUMPAD7 = &H67 ‘Numeric keypad 7 key VK_NUMPAD8 = &H68 ‘Numeric keypad 8 key VK_NUMPAD9 = &H69 ‘Numeric keypad 9 key VK_MULTIPLY = &H6A ‘* key VK_ADD = &H6B ‘+ key VK_SEPERATOR = &H6C ‘ VK_SUBTRACT = &H6D ‘- key VK_DECIMAL = &H6E ‘テンキーの . key VK_DEVIDE = &H6F ‘/ key(ExtendedKey) VK_F1 = &H70 ‘F1 key VK_F2 = &H71 ‘F2 key VK_F3 = &H72 ‘F3 key VK_F4 = &H73 ‘F4 key VK_F5 = &H74 ‘F5 key VK_F6 = &H75 ‘F6 key VK_F7 = &H76 ‘F7 key VK_F8 = &H77 ‘F8 key VK_F9 = &H78 ‘F9 key VK_F10 = &H79 ‘F10 key VK_F11 = &H7A ‘F11 key VK_F12 = &H7B ‘F12 key VK_F13 = &H7C ‘F13 key VK_F14 = &H7D ‘F14 key VK_F15 = &H7E ‘F15 key VK_F16 = &H7F ‘F16 key VK_F17 = &H80 ‘F17 key VK_F18 = &H81 ‘F18 key VK_F19 = &H82 ‘F19 key VK_F20 = &H83 ‘F20 key VK_F21 = &H84 ‘F21 key VK_F22 = &H85 ‘F22 key VK_F23 = &H86 ‘F23 key VK_F24 = &H87 ‘F24 key VK_NUMLOCK = &H90 ‘NUM LOCK key(ExtendedKey) VK_SCROLL = &H91 ‘SCROLL LOCK key VK_LSHIFT = &HA0 ‘Left SHIFT key VK_RSHIFT = &HA1 ‘ Right SHIFT key(ExtendedKey) VK_LCONTROL = &HA2 ‘Left CONTROL key VK_RCONTROL = &HA3 ‘Right CONTROL key(ExtendedKey) VK_LMENU = &HA4 ‘Left MENU key VK_RMENU = &HA5 ‘Right MENU key(ExtendedKey) VK_OEM_1 = &HBA ‘: * key VK_OEM_PLUS = &HBB ‘; + key VK_OEM_COMMA = &HBC ‘, < key VK_OEM_MINUS = &HBD ‘- = key VK_OEM_PERIOD = &HBE ‘. > key VK_OEM_2 = &HBF ‘/ ? key VK_OEM_3 = &HC0 ‘@ ` key VK_OEM_4 = &HDB ‘[ { key VK_OEM_5 = &HDC '\ | key VK_OEM_6 = &HDD '] } key VK_OEM_7 = &HDE ‘^ ~ key VK_OEM_8 = &HDF VK_PROCESSKEY = &HE5 VK_OEM_ATTN = &HF0 ‘英数 VK_OEM_102 = &HE2 ‘\ _ key VK_OEM_COPY = &HF2 ‘カタカナひらがな VK_OEM_AUTO = &HF3 ‘全角/半角 VK_OEM_ENLW = &HF4 ‘全角/半角 VK_OEM_BACKTAB = &HF5 ‘ローマ字 VK_PACKET = &HE7 VK_ATTN = &HF6 VK_CRSEL = &HF7 VK_EXSEL = &HF8 VK_EREOF = &HF9 VK_PLAY = &HFA VK_ZOOM = &HFB VK_NONAME = &HFC VK_PA1 = &HFD VK_OEM_CLEAR = &HFE End Enum |
출처 : http://blog.naver.com/yo9lee/100089737842
기본적인 키보드 메시지
윈도우즈에서 한글을 고려하지 않고 키보드 입력을 다루는 방법은 정말 쉽다.
Windows는 키보드 입력이 들어올 때 마다 현재 입력 포커스를 가지고 있는 윈도우에게로 아래 메시지를 보내준다.
메시지 |
내용 |
WPARAM |
LPARAM |
WM_CHAR |
문자가 조합된 경우 |
조합된 글자 (TCHAR형으로 넘어옴) |
0~15: 반복 횟수 |
16~23: 스캔 코드 |
24: 확장 키가 눌렸는가? |
29: alt키가 눌려졌는가 |
30: 이전에 눌려진 상태로 있었는가? |
31: 아직 눌려진 상태로 있는가? |
WM_KEYDOWN |
키보드에서 키가 눌려짐 |
눌러진 virtual key |
동일 |
WM_KEYUP |
키보드에서 키가 눌려졌다 떼어짐 |
떼어진 virtual key |
동일 |
WM_SYSKEYDOWN |
Alt키가 눌려진 상태에서 키가 눌려짐 |
눌러진 virtual key |
동일, 29번 비트는 항상 1 |
WM_SYSKEYUP |
Alt키가 눌려진 상태에서 키가 떼어짐 |
떼어진 virtual key |
동일, 29번 비트는 항상 1 |
위의 표에서 대부분은 자명한 것이다. 이 중 몇 가지 사항만 짚고 넘어가면 된다.
|