救助 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窗口里,
然后我又做了个操作,一直按住空格,结果那些字就能够显示出来了,如果不按住就是无限闪--!
以上是我当时出错时候做过的尝试!
以上可能有用 展开
@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窗口里,
然后我又做了个操作,一直按住空格,结果那些字就能够显示出来了,如果不按住就是无限闪--!
以上是我当时出错时候做过的尝试!
以上可能有用 展开
1个回答
展开全部
我知道原因但是想了好久都没有找到解决办法:
原因是发送按键后接受按键的窗口失去了焦点。
可以这样理解:使用mshta用vbs发送按键后产生了一个窗口,这个窗口是焦点,但是这个窗口很快就被关闭了,焦点没了,不知道跑到哪个程序上去了。
我是这样测试出来的:去掉你的程序中pause这句话,不停地发送按键,发送一次就用鼠标在要接受按键的地方点击一下,这样就能发送一次。
补充回答:
我也找了个电脑测试了一下,
果然能发送,但是在我的电脑上得点击鼠标才能发送。
原因是发送按键后接受按键的窗口失去了焦点。
可以这样理解:使用mshta用vbs发送按键后产生了一个窗口,这个窗口是焦点,但是这个窗口很快就被关闭了,焦点没了,不知道跑到哪个程序上去了。
我是这样测试出来的:去掉你的程序中pause这句话,不停地发送按键,发送一次就用鼠标在要接受按键的地方点击一下,这样就能发送一次。
补充回答:
我也找了个电脑测试了一下,
果然能发送,但是在我的电脑上得点击鼠标才能发送。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询