扫描码和虚拟码有对应的关系,但它们是不同的。键盘扫描码和具体的硬件有关,不同的厂商对同一个按键的扫描码可能不同。计算机先获得扫描码,通过键盘的驱动程序把它转换为键盘虚拟码。虚拟码与具体的硬件无关,不同厂商的键盘,同一个按键其虚拟码总是相同。
虚拟码表
虚拟键码 | 对应值 | 对应键 |
VK_LBUTTON | 1 | 鼠标左键 |
VK_RBUTTON | 2 | 鼠标右键 |
VK_CANCEL | 3 | Cancel |
VK_MBUTTON | 4 | 鼠标中键 |
VK_XBUTTON1 | 5 | |
VK_XBUTTON2 | 6 | |
VK_BACK | 8 | Backspace |
VK_TAB | 9 | Tab |
VK_CLEAR | 12 | Clear |
VK_RETURN | 13 | Enter |
VK_SHIFT | 16 | Shift |
VK_CONTROL | 17 | Ctrl |
VK_MENU | 18 | Alt |
VK_PAUSE | 19 | Pause |
VK_CAPITAL | 20 | Caps Lock |
VK_KANA | 21 | |
VK_HANGUL | 21 | |
VK_JUNJA | 23 | |
VK_FINAL | 24 | |
VK_HANJA | 25 | |
VK_KANJI | 25* | |
VK_ESCAPE | 27 | Esc |
VK_CONVERT | 28 | |
VK_NONCONVERT | 29 | |
VK_ACCEPT | 30 | |
VK_MODECHANGE | 31 | |
VK_SPACE | 32 | Space |
VK_PRIOR | 33 | Page Up |
VK_NEXT | 34 | Page Down |
VK_END | 35 | End |
VK_HOME | 36 | Home |