VBS是如何输入中文字符的

时间:2024-10-12 03:31:55

怎么使用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

© 手抄报圈