中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 16:35
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教个有关VBS弹窗脚本的问题(自动关闭) 查看 1,121 回复 4
楼 主 请教个有关VBS弹窗脚本的问题(自动关闭) 发表于 2009-11-30 11:48 ·  中国 广东 深圳 福田区 电信
初级用户
积分 64
发帖 30
注册 2007-03-26 06:39
19年会员
UID 82946
性别 男
状态 离线
想实现这样一个功能:
运行一个VBS脚本,弹出一个窗口提示一些信息后并在指定的时间后关闭此窗口
在网上找了一个实例:虽然能实现我的要求,但是唯一的遗憾是显示一下就隐藏了(其实是更新了,此窗口并未关闭,而是被我当前的窗口遮住了)
main 
Sub main
Dim fso,wsh,i
'Set fso = CreateObject("Scripting.FileSystemObject")
Set wsh = CreateObject("WScript.Shell")
'if not (fso.FolderExists("e:\bak")) then fso.CreateFolder("e:\bak")
'fso.CopyFile "d:\work\*.doc","e:\bak\"
'fso.CopyFile "d:\work\*.xls","e:\bak\"
'Set fso = Nothing
For i = 5 to 1 step -1
wsh.popup "文件备份完毕!",1,"信息提示" & 5 & "秒钟后关闭",0
Next
set wsh = Nothing
End Sub


于是又找了一个实例:
http://bbs.verybat.org/viewthread.php?tid=10671

set fso=createobject("scripting.filesystemobject")
set a=fso.opentextfile("1.txt",1)
r=a.readall
msgbox r,0,"结果"


于是将其合并
main 
Sub main
Dim fso,wsh,i
Set wsh = CreateObject("WScript.Shell")
Set fso=createobject("scripting.filesystemobject")
Set a=fso.opentextfile("1.txt",1)
Set fso = Nothing
r=a.readall
msgbox r,0,"结果"
For i = 5 to 1 step -1
wsh.popup r,1,"信息提示" & i & "秒钟后关闭",0
Next
end sub

这段倒是实现我想要的功能,但是每次都得按一次确定(msgbox r,0,"结果")
如果把这句注释掉('msgbox r,0,"结果"),没有达到预期的结果。
请教各位这段改如何修改才能达到想要的结果,有更好的方法么?谢谢!
2 发表于 2009-11-30 14:05 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
main
Sub main
Dim fso,wsh,i
Set wsh = CreateObject("WScript.Shell")
Set fso=createobject("scripting.filesystemobject")
Set a=fso.opentextfile("1.vbs",1)
r=a.readall
a.Close
Set fso = Nothing
wsh.popup r,5,"信息提示将在5秒钟后关闭",0
end sub
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
Mxark +2 2009-11-30 14:37
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
3 发表于 2009-11-30 14:41 ·  中国 广东 深圳 福田区 电信
初级用户
积分 64
发帖 30
注册 2007-03-26 06:39
19年会员
UID 82946
性别 男
状态 离线
谢谢slore,但是这样标题栏就不能显示倒计时,要是能获得
main 
Sub main
Dim fso,wsh,i
Set wsh = CreateObject("WScript.Shell")
Set fso=createobject("scripting.filesystemobject")
Set a=fso.opentextfile("1.txt",1)
Set fso = Nothing
r=a.readall
msgbox r,0,"结果"
For i = 5 to 1 step -1
wsh.popup r,1,"信息提示" & i & "秒钟后关闭",0
Next
end sub
按确定之后的效果就好了。。。
4 发表于 2009-11-30 15:48 ·  中国 湖南 衡阳 电信
新手上路
积分 8
发帖 8
注册 2009-11-29 21:53
16年会员
UID 155620
性别 男
状态 离线
怎么现在论坛没有以前那么红了,好像,感觉
5 发表于 2009-11-30 21:26 ·  中国 广东 广州 电信
初级用户
★★
l i u s s
积分 73
发帖 101
注册 2008-09-17 00:21
17年会员
UID 125825
性别 男
来自 GZ
状态 离线
楼主,你这样的倒数效果不好看。建议使用第三方工具:Wbusy.exe

Wbusy " " " 正在进行10秒钟倒数..." /stop /timeout=10
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
Mxark +2 2010-02-02 09:50
附件
Wbusy.rar (11.82 KiB, 下载次数: 18)
效果.PNG
论坛跳转: