Board logo

标题: [问题求助] sendkeys输入中文的话都是乱码 [打印本页]

作者: 522235677    时间: 2014-6-18 20:56     标题: sendkeys输入中文的话都是乱码

本帖最后由 522235677 于 2014-6-18 20:58 编辑
  1. wshshell.sendkeys "j6542432fdsfd化工方法对"
复制代码
前面输入的中文和字母都是正常的。后面的中文输入的要么就是 / 要么就是 =
然后计算机还会自动打开计算器和我的电脑窗口
不同中文打开的窗口也不同,有的时候会自动打开IE
作者: yu2n    时间: 2014-6-21 01:18

本帖最后由 yu2n 于 2014-6-21 01:22 编辑

VBS不能依靠Sendkey发送虚拟按键码直接输出中文,间接的实现倒是可以的。
SendKey函数发送的是虚拟按键代码,键盘的定义中也没有“中文按键”,直接Sendkey输出中文也就不能实现。

VBS利用SendKeys输入中文字符的方法
http://www.jb51.net/article/15335.htm

参考:用VBS控制音量、暂停、播放
http://www.bathome.net/thread-3401-1-1.html

[转贴] 用VBS控制音量、暂停、播放http://www.bathome.net/thread-3401-1-1.html

原文: [讨论]VBS中奇妙的中文…… http://www.cn-dos.net/forum/viewthread.php?tid=40374
————————————————————————————————————————————————————————————————————————————————————————————————
例如,静音:
  • Set WshShell = Wscript.CreateObject("Wscript.Shell")
  • WshShell.Sendkeys "棴"

复制代码
这个 字是这么来的:
虚拟键码,例如,增大音量 的虚拟键码是 AF,然后找一个在线URL解码编码工具%97%AF 进行解码,得到的字符是 。如果发送 "棷棷" 就是增大两格音量了...

其中,%97%AF 里的 97 是随便一个无效的虚拟键码。当然也可以用两个有效的键码,这样一来就会执行两个功能了,例如对 %b6%b7 进行解码,得到的字符是 ,这个字可以同时打开“我的电脑”和“计算器”。

功能 虚拟键码 解码后的字符
打开资源管理器的搜索 AA
打开默认浏览器的首页 AC
静音 AD
减小音量 AE
增大音量 AF
下一首 B0
上一首 B1
停止播放 B2
播放/暂停 B3
启动邮件客户端 B4
启动播放软件 B5
打开“我的电脑” B6
打开“计算器” B7


作者: CrLf    时间: 2014-6-21 01:34

这类问题还是用 autohotkey_w 吧,Send/SendInput/ControlSend 等比 sendkey 好用




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2