- 时间:2022-07-08 14:41 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:vbs sendKeys Virtual-Key Codes 十六进制符号
Constants
[quote]
- [b][url=http://msdn.microsoft.com/en-us/library/ms645540(v=VS.85).aspx]VK_HANGUL[/url])
- [b][url=http://msdn.microsoft.com/en-us/library/ms646271(v=VS.85).aspx]KEYBDINPUT[/url], [url=http://msdn.microsoft.com/en-us/library/ms646310(v=VS.85).aspx]SendInput[/url], [url=http://msdn.microsoft.com/en-us/library/ms646280(v=VS.85).aspx]WM_KEYDOWN[/url], and [url=http://msdn.microsoft.com/en-us/library/ms646281(v=VS.85).aspx]WM_KEYUP[/url]
- [b]-[/b] (0xE8)
- Unassigned
- [b][/b] (0xE9-F5)
- OEM specific
- [b]VK_ATTN[/b] (0xF6)
- Attn key
- [b]VK_CRSEL[/b] (0xF7)
- CrSel key
- [b]VK_EXSEL[/b] (0xF8)
- ExSel key
- [b]VK_EREOF[/b] (0xF9)
- Erase EOF key
- [b]VK_PLAY[/b] (0xFA)
- Play key
- [b]VK_ZOOM[/b] (0xFB)
- Zoom key
- [b]VK_NONAME[/b] (0xFC)
- Reserved
- [b]VK_PA1[/b] (0xFD)
- PA1 key
- [b]VK_OEM_CLEAR[/b] (0xFE)
- Clear key
[/quote]
至于具体十六进制数代表什么功能,我在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方法。