中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 02:09
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » sendkeys 如何才能向对话框发送字符 查看 940 回复 5
楼 主 sendkeys 如何才能向对话框发送字符 发表于 2007-06-23 12:56 ·  中国 浙江 嘉兴 海宁市 电信
中级用户
★★
积分 360
发帖 216
注册 2007-05-29 17:41
19年会员
UID 89677
性别 男
状态 离线
我制作了一个VBS文件,如下
Set xx=WScript.CreateObject("WScript.shell")
xx.AppActivate "中国DOS联盟论坛 - 中国DOS联盟之联合DOS论坛"
WScript.sleep 2000
xx.sendkeys "(% )n"
WScript.sleep 1000

c=inputbox("请输入三个字母","标题")
WScript.sleep 1000
xx.AppActivate "标题"
WScript.sleep 1000
xx.sendkeys "bbb"

但总是没办法在对话框中输入bbb三个字,不知道是怎么回事?
2 发表于 2007-06-23 13:14 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
c = InputBox("请输入三个字母","标题") '没有点按钮是不会往下面执行的...
WScript.sleep 1000
xx.AppActivate "标题"
WScript.sleep 1000
xx.sendkeys "bbb"
3 难呀 发表于 2007-06-23 17:57 ·  中国 浙江 嘉兴 海宁市 电信
中级用户
★★
积分 360
发帖 216
注册 2007-05-29 17:41
19年会员
UID 89677
性别 男
状态 离线
Originally posted by slore at 2007-6-23 01:14 PM:
c = InputBox("请输入三个字母","标题")


能讲个具体的原由吗?
那么
如何修改,才能使程序正常运行呢?
4 发表于 2007-06-23 18:06 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
MsgBox ""
'我说的不清楚麽?上面的没有执行完怎么会执行下面的……
MsgBox "A"

上面的例子出现""的对话框你不点你是看不到"A"的对话框……

你上面的问题就是这样,c = InputBox("请输入三个字母","标题")没有执行完,
你下面的那些又没有执行,为什么要把bbb写进去呢?
5 发表于 2007-06-23 21:22 ·  中国 浙江 嘉兴 海宁市 电信
中级用户
★★
积分 360
发帖 216
注册 2007-05-29 17:41
19年会员
UID 89677
性别 男
状态 离线
Originally posted by slore at 2007-6-23 06:06 PM:
MsgBox ""
'我说的不清楚麽?上面的没有执行完怎么会执行下面的……
MsgBox


哈哈,你会错我的意思了!!!
我的意思是,上面第一个MSGBOX没执行,如何用模拟键盘来使其执行,从而显示出第二个MSGBOX????
而不是通过手动点击确定来使第二个消息框执行!
6 发表于 2007-06-23 22:49 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
那你的脚本不需要要inputbox自己直接c="bbb"


你要模拟输入一定要2个……
论坛跳转: