[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[已解决]VBS实现“切换输入法”为什么没作用?

  1. Set object=CreateObject("wscript.shell")
  2. object.run "notepad"
  3. object.appactivate "无标题-记事本"
  4. WScript.Sleep 3000
  5. object.sendkeys "+(^)"
  6. WScript.Sleep 300
  7. object.sendkeys "+(^)"
  8. WScript.Sleep 300
  9. object.sendkeys "+(^)"
  10. WScript.Sleep 1000
  11. object.sendkeys "smq"
  12. object.SendKeys "{enter}"
复制代码
本想切换个输入法,试一下输入汉字,但不知道为什么不成功

[ 本帖最后由 wc726842270 于 2010-12-12 00:33 编辑 ]

刚才查了一下,实在没找到空格的输入法,想了解一下SENDKEYS能不能输出汉字呢

TOP

SENDKEYS不能输入汉字
---学无止境---

TOP

唉,看来结果有些让人失忘啊,不过切换输入法确实是object.sendkeys "+(^)"为什么也没反应呢。不能是命令出错了吧!同样感谢Broly的指导。看来只能在失忘中结贴了

[ 本帖最后由 wc726842270 于 2010-12-12 00:32 编辑 ]

TOP

回复 4楼 的帖子

object.sendkeys "+(^)" 看上去没有问题
我测试也可以用
没空格的按键,你可以转换一下自己的思路:
比如你在拼音下输入 nihaoma
那么一般第一个选择就是  “你好吗”
平常你是用空格按键的,但VBS里你不可以用
你可用  obj.sendkeys “1”
那样起到同样的效果
---学无止境---

TOP

系统默认的是 CTRL+SHIFT,而不是SHIFT+CTRL。
既然没解决,为什么要”在失忘中结贴”呢?

TOP

RE 5 如果能切换过去的话,应该是没问题的
RC 6 关键是本人有些急了些,另外VBS关注的人太少了
空格的问题已经解决object.sendkeys " "
即可

[ 本帖最后由 wc726842270 于 2010-12-14 02:40 编辑 ]

TOP

SendKeys是很不保险的,不仅有些键发不出来(比如最让人关注的PrintScreen),还得依赖于窗口焦点问题,这是很致命的缺点。想发送汉字还得依赖安装的输入法。所以不到万不得以,尽量不要用它。
比如楼主的问题可以创建一个InternetExplorer.Application来代替记事本,还可以做出很漂亮的效果。

PS:
发送空格竟然也算问题?学vbs连《Windows 脚本技术》(script56.chm)都不看?
注意   要发送空格,则请发送字符串 " "。

TOP

回复 8楼 的帖子

谢谢你的推荐,这几天看了一部份。确实是相当不错的书,不过就是没有TXT的,没办法,用了一晚上的时间转化了一部份,但还是有部份错误.
对于InternetExplorer.Application这个了解的,也只是出初(只停留在网页的打开上),我想等我看完这本书会有很大的提高

[ 本帖最后由 wc726842270 于 2010-12-20 09:11 编辑 ]

TOP

返回列表