救助 cmd 调用 vbs的sendkeys命令出现的问题。。

代码@echooff:loopclsechobegin...ping127.0.0.1-n3>nulmshtavbscript:createobject("wscript... 代码
@echo off
:loop
cls
echo begin...
ping 127.0.0.1 -n 3 >nul
mshta vbscript:createobject("wscript.shell").sendkeys("why")(window.close)
echo once clear! and press any to continue...&pause >nul
goto :loop
我的电脑执行bat文件后,鼠标定位到文本,其不实现输出功能,但是窗口会闪一下,如果弄个
无限循环就一直闪,但是偶尔会显示出来那么一次。
但是如果用vbs执行sendkeys 可以正常执行,就是不知道为什么bat文件无法正常执行。
尝试了一下我把代码中的(window.close)去掉,运行的时候会出现一个窗口。
望高手能够指点,如何cmd能正常运行,谢谢!

2010.10.31 AM 10:43
今天起来后,再次试了下程序,发现其能够正常的运行了。我什么也没有修改。
找朋友电脑测试了下,有些可以运行
有个是我之前的现象一样

关于窗口聚焦
我本无那个pause按钮的,为了观察问题才添加上去的。
那时候如果没有pause,窗口无限闪,但是如果我输入字,在txt中是可以输入的,鼠标聚焦在txt窗口里,
然后我又做了个操作,一直按住空格,结果那些字就能够显示出来了,如果不按住就是无限闪--!

以上是我当时出错时候做过的尝试!
以上可能有用
展开
 我来答
escortmnm
2010-10-31 · TA获得超过3393个赞
知道大有可为答主
回答量:1890
采纳率:0%
帮助的人:3281万
展开全部
我知道原因但是想了好久都没有找到解决办法:

原因是发送按键后接受按键的窗口失去了焦点。
可以这样理解:使用mshta用vbs发送按键后产生了一个窗口,这个窗口是焦点,但是这个窗口很快就被关闭了,焦点没了,不知道跑到哪个程序上去了。

我是这样测试出来的:去掉你的程序中pause这句话,不停地发送按键,发送一次就用鼠标在要接受按键的地方点击一下,这样就能发送一次。

补充回答:
我也找了个电脑测试了一下,

果然能发送,但是在我的电脑上得点击鼠标才能发送。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式