中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-13 18:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 在windowsxp下用vbs向dos窗口sendkey的问题
楼 主 在windowsxp下用vbs向dos窗口sendkey的问题 发表于 2006-11-03 06:47 ·  中国 湖北 武汉 电信
初级用户
积分 28
发帖 11
注册 2006-10-12 21:18
UID 65492
状态 离线
下面是我写了一个关于vbs脚本。本意是想先打开cmd,然后用SendKeys输入edit和{ENTER},这样就进入了edit界面,再用SendKeys相edit输入别的数据。
具体如下:

dim wshshell
set wshshell=WScript.CreateObject("WScript.Shell")
wshshell.Run "C:\WINDOWS\system32\cmd.exe"
WScript.Sleep 200

wshshell.SendKeys "edit"
WScript.Sleep 200
wshshell.SendKeys "{ENTER}"
WScript.Sleep 1000

wshshell.AppActivate "C:\WINDOWS\system32\cmd.exe - edit"
WScript.Sleep 2000

Rem 以上都是正常的,能有效地执行,可是下一步就不可以了:

wshshell.SendKeys "i"



尽管cmd edit 窗口已经是在激活状态,但最后这一步输入的 i 怎么也不出现edit的界面里,而我动手用键盘是能输入字符的,请教大侠,原因何在?

谢谢!!
2 发表于 2008-03-13 18:48 ·  德国 法兰克福大学
初级用户
积分 34
发帖 14
注册 2008-03-12 19:28
UID 112774
性别 男
状态 离线
把这个帖子顶起来,请高手们看看能不能解决,谢谢
3 发表于 2008-03-13 19:40 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
UID 54766
性别 男
来自 上海
状态 离线
向窗口发送任何.SendKeys,都不太适合
第一高手 第二高手

4 发表于 2008-03-13 19:46 ·  德国 法兰克福大学
初级用户
积分 34
发帖 14
注册 2008-03-12 19:28
UID 112774
性别 男
状态 离线
fastslz: 不解
5 发表于 2008-03-13 20:12 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
UID 54766
性别 男
来自 上海
状态 离线
窗口失去焦点SendKeys不知道发送到哪了
第一高手 第二高手

6 发表于 2008-03-13 20:15 ·  德国 法兰克福大学
初级用户
积分 34
发帖 14
注册 2008-03-12 19:28
UID 112774
性别 男
状态 离线
明白了,那请教fastslz,这个问题有没有办法解决,愿闻其详,谢谢
7 发表于 2008-03-13 20:32 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
UID 54766
性别 男
来自 上海
状态 离线
确实非常重要你去玩玩AutoIT脚本吧
第一高手 第二高手

论坛跳转: