Virtual-Key Codes

2010年5月3日 | 分类: 技术相关 | 标签: , ,

引自微软MSDN,http://msdn.microsoft.com/ZH-cn/library/ms645540

The following table shows the symbolic constant names, hexadecimal values, and mouse or 
keyboard equivalents for the virtual-key codes used by the system. The codes are 
listed in numeric order.

Constants

    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)
        Windows 2000/XP: X1 mouse button

    VK_XBUTTON2 (0x06)
        Windows 2000/XP: X2 mouse button

    - (0x07)
        Undefined

    VK_BACK (0x08)
        BACKSPACE key

    VK_TAB (0x09)
        TAB key

    - (0x0A-0B)
        Reserved

    VK_CLEAR (0x0C)
        CLEAR key

    VK_RETURN (0x0D)
        ENTER key

    - (0x0E-0F)
        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

    VK_KANA (0x15)
        Input Method Editor (IME) Kana mode

    VK_HANGUEL (0x15)
        IME Hanguel mode (maintained for compatibility; use VK_HANGUL)

    VK_HANGUL (0x15)
        IME Hangul mode

    - (0x16)
        Undefined

    VK_JUNJA (0x17)
        IME Junja mode

    VK_FINAL (0x18)
        IME final mode

    VK_HANJA (0x19)
        IME Hanja mode

    VK_KANJI (0x19)
        IME Kanji mode

    - (0x1A)
        Undefined

    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

     (0x30)
        0 key

     (0x31)
        1 key

     (0x32)
        2 key

     (0x33)
        3 key

     (0x34)
        4 key

     (0x35)
        5 key

     (0x36)
        6 key

     (0x37)
        7 key

     (0x38)
        8 key

     (0x39)
        9 key

    - (0x3A-40)
        Undefined

     (0x41)
        A key

     (0x42)
        B key

     (0x43)
        C key

     (0x44)
        D key

     (0x45)
        E key

     (0x46)
        F key

     (0x47)
        G key

     (0x48)
        H key

     (0x49)
        I key

     (0x4A)
        J key

     (0x4B)
        K key

     (0x4C)
        L key

     (0x4D)
        M key

     (0x4E)
        N key

     (0x4F)
        O key

     (0x50)
        P key

     (0x51)
        Q key

     (0x52)
        R key

     (0x53)
        S key

     (0x54)
        T key

     (0x55)
        U key

     (0x56)
        V key

     (0x57)
        W key

     (0x58)
        X key

     (0x59)
        Y key

     (0x5A)
        Z key

    VK_LWIN (0x5B)
        Left Windows key (Microsoft Natural keyboard) 

    VK_RWIN (0x5C)
        Right Windows key (Natural keyboard)

    VK_APPS (0x5D)
        Applications key (Natural keyboard)

    - (0x5E)
        Reserved

    VK_SLEEP (0x5F)
        Computer Sleep key

    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 (0x80H)
        F17 key

    VK_F18 (0x81H)
        F18 key

    VK_F19 (0x82H)
        F19 key

    VK_F20 (0x83H)
        F20 key

    VK_F21 (0x84H)
        F21 key

    VK_F22 (0x85H)
        F22 key

    VK_F23 (0x86H)
        F23 key

    VK_F24 (0x87H)
        F24 key

    - (0x88-8F)
        Unassigned

    VK_NUMLOCK (0x90)
        NUM LOCK key

    VK_SCROLL (0x91)
        SCROLL LOCK key

     (0x92-96)
        OEM specific

    - (0x97-9F)
        Unassigned

    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

    VK_RMENU (0xA5)
        Right MENU key

    VK_BROWSER_BACK (0xA6)
        Windows 2000/XP: Browser Back key

    VK_BROWSER_FORWARD (0xA7)
        Windows 2000/XP: Browser Forward key

    VK_BROWSER_REFRESH (0xA8)
        Windows 2000/XP: Browser Refresh key

    VK_BROWSER_STOP (0xA9)
        Windows 2000/XP: Browser Stop key

    VK_BROWSER_SEARCH (0xAA)
        Windows 2000/XP: Browser Search key 

    VK_BROWSER_FAVORITES (0xAB)
        Windows 2000/XP: Browser Favorites key

    VK_BROWSER_HOME (0xAC)
        Windows 2000/XP: Browser Start and Home key

    VK_VOLUME_MUTE (0xAD)
        Windows 2000/XP: Volume Mute key

    VK_VOLUME_DOWN (0xAE)
        Windows 2000/XP: Volume Down key

    VK_VOLUME_UP (0xAF)
        Windows 2000/XP: Volume Up key

    VK_MEDIA_NEXT_TRACK (0xB0)
        Windows 2000/XP: Next Track key

    VK_MEDIA_PREV_TRACK (0xB1)
        Windows 2000/XP: Previous Track key

    VK_MEDIA_STOP (0xB2)
        Windows 2000/XP: Stop Media key

    VK_MEDIA_PLAY_PAUSE (0xB3)
        Windows 2000/XP: Play/Pause Media key

    VK_LAUNCH_MAIL (0xB4)
        Windows 2000/XP: Start Mail key

    VK_LAUNCH_MEDIA_SELECT (0xB5)
        Windows 2000/XP: Select Media key

    VK_LAUNCH_APP1 (0xB6)
        Windows 2000/XP: Start Application 1 key

    VK_LAUNCH_APP2 (0xB7)
        Windows 2000/XP: Start Application 2 key

    - (0xB8-B9)
        Reserved

    VK_OEM_1 (0xBA)
        Used for miscellaneous characters; it can vary by keyboard.

        Windows 2000/XP: For the US standard keyboard, the ';:' key 

    VK_OEM_PLUS (0xBB)
        Windows 2000/XP: For any country/region, the '+' key

    VK_OEM_COMMA (0xBC)
        Windows 2000/XP: For any country/region, the ',' key

    VK_OEM_MINUS (0xBD)
        Windows 2000/XP: For any country/region, the '-' key

    VK_OEM_PERIOD (0xBE)
        Windows 2000/XP: For any country/region, the '.' key

    VK_OEM_2 (0xBF)
        Used for miscellaneous characters; it can vary by keyboard.

        Windows 2000/XP: For the US standard keyboard, the '/?' key 

    VK_OEM_3 (0xC0)
        Used for miscellaneous characters; it can vary by keyboard.

        Windows 2000/XP: For the US standard keyboard, the '`~' key 

    - (0xC1-D7)
        Reserved

    - (0xD8-DA)
        Unassigned

    VK_OEM_4 (0xDB)
        Used for miscellaneous characters; it can vary by keyboard.

        Windows 2000/XP: For the US standard keyboard, the '[{' key

    VK_OEM_5 (0xDC)
        Used for miscellaneous characters; it can vary by keyboard.

        Windows 2000/XP: For the US standard keyboard, the '\|' key

    VK_OEM_6 (0xDD)
        Used for miscellaneous characters; it can vary by keyboard.

        Windows 2000/XP: For the US standard keyboard, the ']}' key

    VK_OEM_7 (0xDE)
        Used for miscellaneous characters; it can vary by keyboard.

        Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key

    VK_OEM_8 (0xDF)
        Used for miscellaneous characters; it can vary by keyboard.

    - (0xE0)
        Reserved

     (0xE1)
        OEM specific

    VK_OEM_102 (0xE2)
        Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 
102-key keyboard

     (0xE3-E4)
        OEM specific

    VK_PROCESSKEY (0xE5)
        Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key

     (0xE6)
        OEM specific

    VK_PACKET (0xE7)
        Windows 2000/XP: Used to pass Unicode characters as if they were keystrokes. 
The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard 
input methods. For more information, see Remark in KEYBDINPUT, SendInput, 
WM_KEYDOWN, and WM_KEYUP

    - (0xE8)
        Unassigned

     (0xE9-F5)
        OEM specific

    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

这是一份VC里的代码,可以直接用了。

/*
 * Virtual Keys, Standard Set
 */
#define VK_LBUTTON        0x01
#define VK_RBUTTON        0x02
#define VK_CANCEL         0x03
#define VK_MBUTTON        0x04    /* NOT contiguous with L & RBUTTON */
 
#define VK_BACK           0x08
#define VK_TAB            0x09
 
#define VK_CLEAR          0x0C
#define VK_RETURN         0x0D
 
#define VK_SHIFT          0x10
#define VK_CONTROL        0x11
#define VK_MENU           0x12
#define VK_PAUSE          0x13
#define VK_CAPITAL        0x14
 
#define VK_KANA           0x15
#define VK_HANGEUL        0x15  /* old name - should be here for compatibility */
#define VK_HANGUL         0x15
#define VK_JUNJA          0x17
#define VK_FINAL          0x18
#define VK_HANJA          0x19
#define VK_KANJI          0x19
 
#define VK_ESCAPE         0x1B
 
#define VK_CONVERT        0x1C
#define VK_NONCONVERT     0x1D
#define VK_ACCEPT         0x1E
#define VK_MODECHANGE     0x1F
 
#define VK_SPACE          0x20
#define VK_PRIOR          0x21
#define VK_NEXT           0x22
#define VK_END            0x23
#define VK_HOME           0x24
#define VK_LEFT           0x25
#define VK_UP             0x26
#define VK_RIGHT          0x27
#define VK_DOWN           0x28
#define VK_SELECT         0x29
#define VK_PRINT          0x2A
#define VK_EXECUTE        0x2B
#define VK_SNAPSHOT       0x2C
#define VK_INSERT         0x2D
#define VK_DELETE         0x2E
#define VK_HELP           0x2F
 
/* VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) 
0	0x30
1	0x31
2	0x32
3	0x33
4	0x34
5	0x35
6	0x36
7	0x37
8	0x38
9	0x39
*/
/* VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' (0x41 - 0x5A) 
A	0x41
B	0x42
C	0x43
D	0x44
E	0x45
F	0x46
G	0x47
H	0x48
I	0x49
J	0x4A
K	0x4B
L	0x4C
M	0x4D
N	0x4E
O	0x4F
P	0x50
Q	0x51
R	0x52
S	0x53
T	0x54
U	0x55
V	0x56
W	0x57
X	0x58
Y	0x59
Z	0x5A
*/
 
#define VK_LWIN           0x5B
#define VK_RWIN           0x5C
#define VK_APPS           0x5D
 
#define VK_NUMPAD0        0x60
#define VK_NUMPAD1        0x61
#define VK_NUMPAD2        0x62
#define VK_NUMPAD3        0x63
#define VK_NUMPAD4        0x64
#define VK_NUMPAD5        0x65
#define VK_NUMPAD6        0x66
#define VK_NUMPAD7        0x67
#define VK_NUMPAD8        0x68
#define VK_NUMPAD9        0x69
#define VK_MULTIPLY       0x6A
#define VK_ADD            0x6B
#define VK_SEPARATOR      0x6C
#define VK_SUBTRACT       0x6D
#define VK_DECIMAL        0x6E
#define VK_DIVIDE         0x6F
#define VK_F1             0x70
#define VK_F2             0x71
#define VK_F3             0x72
#define VK_F4             0x73
#define VK_F5             0x74
#define VK_F6             0x75
#define VK_F7             0x76
#define VK_F8             0x77
#define VK_F9             0x78
#define VK_F10            0x79
#define VK_F11            0x7A
#define VK_F12            0x7B
#define VK_F13            0x7C
#define VK_F14            0x7D
#define VK_F15            0x7E
#define VK_F16            0x7F
#define VK_F17            0x80
#define VK_F18            0x81
#define VK_F19            0x82
#define VK_F20            0x83
#define VK_F21            0x84
#define VK_F22            0x85
#define VK_F23            0x86
#define VK_F24            0x87
 
#define VK_NUMLOCK        0x90
#define VK_SCROLL         0x91
 
#define VK_LSHIFT         0xA0
#define VK_RSHIFT         0xA1
#define VK_LCONTROL       0xA2
#define VK_RCONTROL       0xA3
#define VK_LMENU          0xA4
#define VK_RMENU          0xA5
 
#define VK_PROCESSKEY     0xE5
 
#define VK_ATTN           0xF6
#define VK_CRSEL          0xF7
#define VK_EXSEL          0xF8
#define VK_EREOF          0xF9
#define VK_PLAY           0xFA
#define VK_ZOOM           0xFB
#define VK_NONAME         0xFC
#define VK_PA1            0xFD
#define VK_OEM_CLEAR      0xFE
本文的评论功能被关闭了.