怎么使用SendKeys的vbs方法来输入中文字符
首先我们看一个输入字母的例子:
set s = WScript.CreateObject("WScript.Shell")
app=s.Run ("C:windowsotepad.exe")
code="biweilun"
WScript.Sleep 1000
s.AppActivate app
s.SendKeys code
Wscript.quit
这段vbs作用是打开一个记事本,然后把"biweilun"这串字符输入进去,可以把code参数换成chr(97),那么你会发现自动输入到记事本里面的是一个"a"字符。code参数的值换成一个chr(一个汉字的ASCII码)是不行。
现在可以利用clip.exe这个小程序,它只在Win2003下才有,WinXP是没有的,xp下不能实现后台Windows写剪贴板的DOS命令,将Win2003中的Clip.exe下载后解压缩,把得到的clip.exe复制到 %systemroot%system32文件夹下面即可。现在vbs用SendKeys输入中文字符的问题得以完美解决了,前提是有clip.exe的支撑。
代码如下:
复制代码 代码如下:
Set wshobj=WScript.CreateObject("WScript.Shell")
code="你想输入的中文"
wshobj.Run "cmd.exe /c echo " & code & "| clip.exe", vbHide
app=wshobj.Run ("C:windowsotepad2.exe")
WScript.Sleep 1000
wshobj.AppActivate app
wshobj.SendKeys "^v"
Wscript.Quit