标题: [讨论]VBS中奇妙的中文……
[打印本页]
作者: slore
时间: 2008-5-14 18:58
标题: [讨论]VBS中奇妙的中文……
Set WshShell
= wscript.
CreateObject("
WScript.Shell"
)
MsgBox "
打开计算器",,"
神奇的中文"
WshShell.Sendkeys "
品"
MsgBox "
打开芊芊静听",,"
神奇的中文"
WshShell.Sendkeys "
频"
MsgBox "
打开我的电脑",,"
神奇的中文"
WshShell.Sendkeys "
赌"
Set WshShell
= Nothing
拼是OUTLOOK
希望大家多多发现……
最好谁可以搞出原理……

作者: slore
时间: 2008-5-14 19:01
有测试。。。
频
貌似是媒体类的……没有芊芊的打开了real……不知道还没有real会怎么样……
作者: slore
时间: 2008-5-14 19:08
谁说VBS的SENDKEYS不支持 中文?
只是功能……太……神奇了……
法和品都可以打开计算器,大家研究下……在看编码中……
作者: slore
时间: 2008-5-14 19:14
恩,有点眉目了……果然……
SENDKEYS不支持中文,因为中文是2个字节表示一个字。
根据 法 和 品 都可以打开计算器,就查看编码,他们都一个字节是B7
于是测试了个有 B7编码的字符"狈",果然可以打开!
其他的不难知道了,但是这些编码为什么会打开相应的程序有是个问题了。
继续探究……
作者: slore
时间: 2008-5-14 19:18
测试了,"贩" 得到猜想证实!
贩 在内存中储存为:B7,B7
所以我们运行后会显示2个计算器!
含有 B6 字节 的会打开我的电脑。
看来和BX有关了,我继续测试……
作者: slore
时间: 2008-5-14 19:20
B5 是播放器……已知的果然都是含有B字符的……
那我推一推还有啥嗬。
作者: slore
时间: 2008-5-14 19:22
"吹" 是B4,B5……
所以……你会打开2个东西哦~~
自己运行看看B4是什么……
作者: slore
时间: 2008-5-14 19:29
感觉是SCANCODE……
多媒体键盘上面会有些打开主页呀,音量呀,我的电脑的按键……
估计是它们~要吃饭了……先放下。
感觉应该没有错。
B的其他的用了没有反应……
多媒体键盘有 我的电脑,邮箱,媒体,主页?
好像有P配了……
继续吃饭……
[
Last edited by slore on 2008-5-14 at 07:37 PM ]
作者: joyn
时间: 2008-5-14 21:15
强......留个印....怎么发现的??
作者: joyn
时间: 2008-5-14 21:21
WshShell.Sendkeys "频"
这行我是打开了 爆风语音
作者: knoppix7
时间: 2008-5-14 23:02
找到的一点资料.
对不上可能是编码问题.
Windows Multimedia Scan Codes:
TYpe 2:
Key Make Code Break Code
Next Track E0, 19 E0, 99
Previous Track E0, 10 E0, 90
Stop E0, 24 E0, A4
Play/Pause E0, 22 E0, A2
Mute E0, 20 E0, A0
Volume Up E0, 30 E0, B0
Volume Down E0, 2E E0, AE
Media Select E0, 6D E0, ED
E-Mail E0, 6C E0, EC
Calculator E0, 21 E0, A1
My Computer E0, 6B E0, EB
WWW Search E0, 65 E0, E5
WWW Home E0, 32 E0, B2
WWW Back E0, 6A E0, EA
WWW Forward E0, 69 E0, E9
WWW Stop E0, 68 E0, E8
WWW Refresh E0, 67 E0, E7
WWW Favorites E0, 66 E0, E6
TYPE1:
Key Make Code Break Code
Next Track E0, 4D E0, F0, 4D
Previous Track E0, 15 E0, F0, 15
Stop E0, 3B E0, F0, 3B
Play/Pause E0, 34 E0, F0, 34
Mute E0, 23 E0, F0, 23
Volume Up E0, 32 E0, F0, 32
Volume Down E0, 21 E0, F0, 21
Media Select E0, 50 E0, F0, 50
E-Mail E0, 48 E0, F0, 48
Calculator E0, 2B E0, F0, 2B
My Computer E0, 40 E0, F0, 40
WWW Search E0, 10 E0, F0, 10
WWW Home E0, 3A E0, F0, 3A
WWW Back E0, 38 E0, F0, 38
WWW Forward E0, 30 E0, F0, 30
WWW Stop E0, 28 E0, F0, 28
WWW Refresh E0, 20 E0, F0, 20
WWW Favorites E0, 18 E0, F0, 18
作者: slore
时间: 2008-5-15 01:01
的确是 多媒体键盘的功能……以下是测试出来的功能。
Set WshShell
= Wscript.
CreateObject("
Wscript.Shell"
)
'演示字符,梅:C3B7,含有B7字节,会打开计算器
WshShell.Sendkeys "
梅"
'功能说明:
'WshShell.Sendkeys "源" 'B4 OUTLOOK
'WshShell.Sendkeys "恋" 'B5 媒体播放器
'WshShell.Sendkeys "硕" 'B6 我的电脑
'WshShell.Sendkeys "梅" 'B7 计算器
'WshShell.Sendkeys "血" 'AA 搜索
'WshShell.Sendkeys "爽" 'AC IE主页
'WshShell.Sendkeys "…" 'AD 静音
'WshShell.Sendkeys "爱" 'AE 减音
'WshShell.Sendkeys "怜" 'AF 增音
Set WshShell
= Nothing
有兴趣的可以测试更多字符……
作者: densn
时间: 2008-5-15 03:04
有意思,呵呵~~~
谢谢分享。!!
作者: kk12369
时间: 2008-5-17 01:15
有意思哈哈!!!!
作者: matlan
时间: 2009-2-19 11:14
强! 这也能发现
作者: xxcvb
时间: 2009-2-23 11:28
这都被你发现了啊
作者: echoair
时间: 2010-2-5 22:06
太厉害了…
作者: todayambition
时间: 2010-7-18 15:58
强啊 终于又知道了点新的知识
作者: zsc37201
时间: 2010-8-2 17:15
呵呵,真有意思
作者: zsc37201
时间: 2010-8-2 18:55
至于具体十六进制数代表什么功能,我在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方法。
[
Last edited by zsc37201 on 2010-8-2 at 19:38 ]