C语言键盘按键列表
Symbolic constant |
Hexadecimal value |
Mouse or keyboard equivalent |
---|---|---|
VK_LBUTTON |
0x01 |
Left mouse button. |
VK_RBUTTON |
0x02 |
Right mouse button. |
VK_CANCEL |
0x03 |
Control-break processing. |
VK_MBUTTON |
0x04 |
Middle mouse button on a three-button mouse. |
0x05-0x07 |
Undefined. |
|
VK_BACK |
0x08 |
BACKSPACE key. |
VK_TAB |
0x09 |
TAB key. |
0x0A-0x0B |
Undefined. |
|
VK_CLEAR |
0x0C |
CLEAR key. |
VK_RETURN |
0x0D |
ENTER key. |
0x0E-0x0F |
Undefined. |
|
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. |
0x15-0x19 |
Reserved for Kanji systems. |
|
0x1A |
Undefined. |
|
VK_ESCAPE |
0x1B |
ESC key. |
0x1C-0x1F |
Reserved for Kanji systems. |
|
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. |
0x2A |
Specific to OEM. |
|
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. |
0x3A-0x40 |
Undefined. |
|
VK_LWIN |
0x5B |
Left Windows key on a Microsoft Natural Keyboard. |
VK_RWIN |
0x5C |
Right Windows key on a Microsoft Natural Keyboard. |
VK_APPS |
0x5D |
Applications key on a Microsoft Natural Keyboard. |
0x5E-0x5F |
Undefined. |
|
VK_NUMPAD0 |
0x60 |
Numeric keypad 0 key. |
VK_NUMPAD1 |
0x61 |
Numeric keypad 1 key. |
VK_NUMPAD2 |
0x62 |
Numeric keypad 2 key. |
VK_NUMPAD3 |
0x63 |
Numeric keypad 3 key. |
VK_NUMPAD4 |
0x64 |
Numeric keypad 4 key. |
VK_NUMPAD5 |
0x65 |
Numeric keypad 5 key. |
VK_NUMPAD6 |
0x66 |
Numeric keypad 6 key. |
VK_NUMPAD7 |
0x67 |
Numeric keypad 7 key. |
VK_NUMPAD8 |
0x68 |
Numeric keypad 8 key. |
VK_NUMPAD9 |
0x69 |
Numeric keypad 9 key. |
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. |
VK_F1 |
0x70 |
F1 key. |
VK_F2 |
0x71 |
F2 key. |
VK_F3 |
0x72 |
F3 key. |
VK_F4 |
0x73 |
F4 key. |
VK_F5 |
0x74 |
F5 key. |
VK_F6 |
0x75 |
F6 key. |
VK_F7 |
0x76 |
F7 key. |
VK_F8 |
0x77 |
F8 key. |
VK_F9 |
0x78 |
F9 key. |
VK_F10 |
0x79 |
F10 key. |
VK_F11 |
0x7A |
F11 key. |
VK_F12 |
0x7B |
F12 key. |
VK_F13 |
0x7C |
F13 key. |
VK_F14 |
0x7D |
F14 key. |
VK_F15 |
0x7E |
F15 key. |
VK_F16 |
0x7F |
F16 key. |
VK_F17 |
0x80 |
F17 key. |
VK_F18 |
0x81 |
F18 key. |
VK_F19 |
0x82 |
F19 key. |
VK_F20 |
0x83 |
F20 key. |
VK_F21 |
0x84 |
F21 key. |
VK_F22 |
0x85 |
F22 key. |
VK_F23 |
0x86 |
F23 key. |
VK_F24 |
0x87 |
F24 key. |
0x88-0x8F |
Unassigned. |
|
VK_NUMLOCK |
0x90 |
NUM LOCK key. |
VK_SCROLL |
0x91 |
SCROLL LOCK key. |
VK_LSHIFT |
0xA0 |
Left SHIFT. |
VK_RSHIFT |
0xA1 |
Right SHIFT. |
VK_LCONTROL |
0xA2 |
Left CTRL. |
VK_RCONTROL |
0xA3 |
Right CTRL. |
VK_LMENU |
0xA4 |
Left ALT. |
VK_RMENU |
0xA5 |
Right ALT. |
0xBA-0xC0 |
Specific to OEM; reserved. See following tables. |
|
0xC1-0xDA |
Unassigned. |
|
0xDB-0xDE |
Specific to OEM; reserved. See following tables. |
|
VK_OFF |
0xDF |
Used to power the device on and off. No keyboard equivalent. |
0xE1-0xE4 |
Specific to OEM. |
|
0xE5 |
Unassigned. |
|
0xE6 |
Specific to OEM. |
|
VK_PACKET |
0xE7 |
Used to pass Unicode characters as if they were keystrokes. If VK_PACKET is used with SendInput, then the Unicode character to be delivered should be placed into the lower 16 bits of the scan code. If a keyboard message is removed from the message queue and the virtual key is VK_PACKET, then the Unicode character will be the upper 16 bits of the lparam. |
0xE8 |
Unassigned. |
|
0xE9-0xF5 |
Specific to OEM. |
|
VK_ATTN |
0xF6 |
ATTN key. |
VK_CRSEL |
0xF7 |
CRSEL key. |
VK_EXSEL |
0xF8 |
EXSEL key. |
VK_EREOF |
0xF9 |
Erase EOF key. |
VK_PLAY |
0xFA |
PLAY key. |
VK_ZOOM |
0xFB |
ZOOM key. |
VK_NONAME |
0xFC |
Reserved. |
VK_PA1 |
0xFD |
PA1 key. |
VK_OEM_CLEAR |
0xFE |
CLEAR key. |
OEMs should make special note of the VK key ranges reserved for specific OEM use: 2A, DB-E4, E6, and E9-F5.
In addition to the virtual key assignments in the previous table, Microsoft has assigned the following specific OEM virtual keys.
Symbolic constant |
Hexadecimal value |
Mouse or keyboard equivalent |
---|---|---|
VK_OEM_SCROLL |
0x91 |
None. |
VK_OEM_1 |
0xBA |
";:" for US. |
VK_OEM_PLUS |
0xBB |
"+" any country/region. |
VK_OEM_COMMA |
0xBC |
"," any country/region. |
VK_OEM_MINUS |
0xBD |
"-" any country/region. |
VK_OEM_PERIOD |
0xBE |
"." any country/region. |
VK_OEM_2 |
0xBF |
"/?" for US. |
VK_OEM_3 |
0xC0 |
"`~" for US. |
VK_OEM_4 |
0xDB |
"[{" for US. |
VK_OEM_5 |
0xDC |
"\|" for US. |
VK_OEM_6 |
0xDD |
"]}" for US |
VK_OEM_7 |
0xDE |
"‘"" for US. |
VK_OEM_8 |
0xDF |
None. By default, this is equivalent to VK_OFF. |
VK_OEM_AX |
0xE1 |
AX key on Japanese AX keyboard. |
VK_OEM_102 |
0xE2 |
"<>" or "\|" on RT 102-key keyboard. |
For East Asian Input Method Editors (IMEs), the following additional virtual keyboard definitions must be observed.
Symbolic constant |
Hexadecimal value |
Description |
---|---|---|
VK_DBE_ALPHANUMERIC |
0x0f0 |
Changes the mode to alphanumeric. |
VK_DBE_KATAKANA |
0x0f1 |
Changes the mode to Katakana. |
VK_DBE_HIRAGANA |
0x0f2 |
Changes the mode to Hiragana. |
VK_DBE_SBCSCHAR |
0x0f3 |
Changes the mode to single-byte characters. |
VK_DBE_DBCSCHAR |
0x0f4 |
Changes the mode to double-byte characters. |
VK_DBE_ROMAN |
0x0f5 |
Changes the mode to Roman characters. |
VK_DBE_NOROMAN |
0x0f6 |
Changes the mode to non-Roman characters. |
VK_DBE_ENTERWORDREGISTERMODE |
0x0f7 |
Activates the word registration dialog box. |
VK_DBE_ENTERIMECONFIGMODE |
0x0f8 |
Activates a dialog box for setting up an IME environment. |
VK_DBE_FLUSHSTRING |
0x0f9 |
Deletes the undetermined string without determining it. |
VK_DBE_CODEINPUT |
0x0fa |
Changes the mode to code input. |
VK_DBE_NOCODEINPUT |
0x0fb |
Changes the mode to no-code input. |
OEMs should not use the unassigned portions of the virtual key (VK) mapping tables. If manufacturers require additional VK mappings, they should reuse some of the current manufacturer-specific and vendor-specific assignments.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。