vbs sendKeys Virtual-Key Codes 十六进制符号

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

至于具体十六进制数代表什么功能,我在MSDN找到了答案。
(http://msdn.microsoft.com/en-us/library/ms645540(VS.85).aspx)

下面摘录一段:

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

B6 Application 1 就是我的电脑
B7 Application 2 就是计算器

为了更方便的实现这些功能,我编了一段简单的vbs


a=chr(&h88b5)
'msgbox "d" & a & "d"
CreateObject("wscript.shell").Sendkeys a

简单的解释一下
a=chr(&h88b5)
'“&h”表示后面的数是十六进制数,b5代表Media key,也就是媒体播放器(比如千千静听),为什么前面要加88呢?加了88以后,有两个字节,也就构成了一个汉字(是GBK里的),因为a代表的字符若不是真正有意义的字符(比如ASCII字符和汉字),sendkeys就不会起作用,大家可以试一下。至于为什么选择88,因为在msdn里写着(0x88-8F)Unassigned,同时88为开头的字符可以组成有意义的GBK汉字。

'msgbox "d" & a & "d"
'可以测试a是不是有意义的字符
CreateObject("wscript.shell").Sendkeys a
'调用SendKeys方法。