中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教个有关VBS弹窗脚本的问题(自动关闭)
作者:
标题: 请教个有关VBS弹窗脚本的问题(自动关闭) 上一主题 | 下一主题
Mxark
初级用户




积分 64
发帖 30
注册 2007-3-26
状态 离线
『楼 主』:  请教个有关VBS弹窗脚本的问题(自动关闭)

想实现这样一个功能:
运行一个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,"结果"),没有达到预期的结果。
请教各位这段改如何修改才能达到想要的结果,有更好的方法么?谢谢!

2009-11-30 11:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

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

   此帖被 +2 点积分    点击查看详情   
评分人:【 Mxark 分数: +2  时间:2009-11-30 14:37




S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2009-11-30 14:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Mxark
初级用户




积分 64
发帖 30
注册 2007-3-26
状态 离线
『第 3 楼』:  

谢谢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
按确定之后的效果就好了。。。

2009-11-30 14:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moneythinker
新手上路





积分 8
发帖 8
注册 2009-11-29
状态 离线
『第 4 楼』:  

怎么现在论坛没有以前那么红了,好像,感觉

2009-11-30 15:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
newxso
初级用户

l i u s s


积分 73
发帖 101
注册 2008-9-17
来自 GZ
状态 离线
『第 5 楼』:  

楼主,你这样的倒数效果不好看。建议使用第三方工具:Wbusy.exe

Wbusy " " "      正在进行10秒钟倒数..." /stop /timeout=10

   此帖被 +2 点积分    点击查看详情   
评分人:【 Mxark 分数: +2  时间:2010-2-2 09:50


附件 1: Wbusy.rar (2009-11-30 21:26, 11.82 K,下载次数: 18)
附件 2: 效果.PNG (2009-12-1 11:12, 4.31 K,下载次数: 6)


2009-11-30 21:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: