中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 16:16
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 各式各样的提示框 查看 2,169 回复 7
楼 主 各式各样的提示框 发表于 2007-03-13 01:52 ·  中国 广东 广州 番禺区 电信
中级用户
★★
脚本爱好者
积分 238
发帖 93
注册 2007-03-11 13:38
19年会员
UID 81417
性别 男
来自 GZ
状态 离线
以下是我搜集的一些提示框,制作方法是复制代码到记事本中,再另存为 vbs 文件即可,例如复制 Msgbox "您好,欢迎您!" 到记事本,另存为“提示.vbs”,双击或用命令调用此文件即可弹出消息框。


'最简单的提示框
Msgbox "您好,欢迎您!"


'增加标题信息的提示框
Msgbox " 您好,欢迎您! ",,"提示"


'带有信息图标的提示框
MsgBox "安装完成! ", vbInformation, "提示"


'带有警告图标的提示框
Msgbox "你将执行危险操作! ", VbExclamation, "警告!"


'错误报告提示框
Msgbox "操作失败! ", VbCritical, "错误!"


'带有问号的提示框
Msgbox "你将继续进行下去吗? ", VbQuestion, "提示"


'具有超时自动退出的提示框
set objShell = CreateObject("Wscript.Shell")
intReturn = objShell.Popup("此提示框在5秒后自动退出!", 5, "友情提示")


'具有自杀功能的消息框(假设以下脚本名为 OK.vbs )
MsgBox "安装完成! ", vbInformation, "提示"
set fso=wscript.createobject("scripting.filesystemobject")
fso.deletefile "ok.vbs"


'每1小时出现一次的定时提示框
'想测试效果把 (1000*60*60) 改为 (1000) 即延时1秒
WScript.Sleep (1000*60*60) '延时1小时
Msgbox "你已经使用电脑1个小时了,请注意休息!", VbExclamation, "阿细工作室提提您!"
WScript.Sleep (1000*60*60)
Msgbox "你已经使用电脑2个小时了,请注意休息!", VbExclamation, "阿细工作室提提您!"
WScript.Sleep (1000*60*60)
Msgbox "你已经使用电脑3个小时了,请注意休息!", VbExclamation, "阿细工作室提提您!"
WScript.Sleep (1000*60*60)
Msgbox "你已经使用电脑4个小时了,请注意休息!", VbExclamation, "阿细工作室最后提醒您!"


'在定时提示框中增加弹出关机菜单
WScript.Sleep (1000*60*60) '延时1小时
Msgbox "你已经使用电脑1个小时了,请注意休息!", VbExclamation, "阿细工作室提提您!"
WScript.Sleep (1000*60*60)
Msgbox "你已经使用电脑2个小时了,请注意休息!", VbExclamation, "阿细工作室提提您!"
WScript.Sleep (1000*60*60)
Msgbox "你已经使用电脑3个小时了,请注意休息!", VbExclamation, "阿细工作室提提您!"
WScript.Sleep (1000*60*60)
Msgbox "你已经使用电脑4个小时了,请注意休息! 点击确定后准备关机。", VbExclamation, "阿细工作室最后提醒您!"
Dim Shutdown
Set Shutdown=WScript.CreateObject("Shell.Application")
Shutdown.ShutdownWindows


'另一种定时提醒框
set WshShell = WScript.CreateObject("WScript.Shell")
alerttitle = "阿细工作室提提您!"
'其中vbnewline为换行符
alerttext = vbnewline & vbnewline & " 您已经使用电脑一个小时,为了健康着想,请注意休息!" & vbnewline & vbnewline & vbnewline & vbnewline & "(请移步至窗前,闭目养神,然后望下远景、活动下胳膊、脖子、腰部)"& vbnewline
for i = 1 to 8 '提醒8次
WScript.Sleep (1000*60*60) '每隔1小时提醒一次
msgbox alerttext,4096,alerttitle
'每次提示框被关闭后播放一段声响
strSoundFile = "C:\Windows\Media\Notify.wav"
Set objShell = CreateObject("Wscript.Shell")
strCommand = "sndrec32 /play /close " & chr(34) & strSoundFile & chr(34)
objShell.Run strCommand, 0, True
next
'经过8次提醒后弹出关机菜单
Dim Shutdown
Set Shutdown=WScript.CreateObject("Shell.Application")
Shutdown.ShutdownWindows



'带有选择功能的提示框
intAnswer = Msgbox("你想删除这些文件吗?", vbYesNo, "提示")
If intAnswer = vbYes Then
Msgbox "您选择了“是”",,"测试"
Else
Msgbox "您选择了“否”",,"测试"
End If


'能隐藏启动DOS命令的选择框
Set objShell = CreateObject ("Wscript.Shell")
intAnswer = Msgbox(" 你想清除系统中的临时文件吗? ", vbYesNo, "提示")
If intAnswer = vbYes Then
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\*.tmp"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\*._mp"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\*.gid"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\*.chk"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\*.old"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\recycled\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %windir%\*.bak"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %windir%\prefetch\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %windir%\temp\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/q %userprofile%\recent\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %userprofile%\Local Settings\Temporary Internet Files\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %temp%\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %userprofile%\Local Settings\Temp\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %userprofile%\recent\*.*"),0 ,TRUE
Msgbox "已经清除系统中的临时文件!", VbInformation, "提示"
Else
End If


'密码输入对话提示框
dim a,ctr
ctr=0 '设置计数器
const pass="password" '设置密码
do
if ctr=3 then
msgbox("你已经输入三次,程序将关闭!")
exit do
else
a=inputbox("请输入密码(你有三次机会):","密码输入器")
if a=pass then
msgbox "密码正确,可以打开文件夹!"
Set objShell = CreateObject ("Wscript.Shell")
objShell.Run("explorer.exe %windir%\system32"),1 ,TRUE
if err = 0 then
End If
exit do
else
ctr=ctr+1 '如果密码出错就增加一次错误认证计数
msgbox("输入错误密码,请重新输入!")
end if
end if
loop

(修改说明:已经删除在 中的两条在执行后造成不便的命令)

[ Last edited by axi on 2007-4-14 at 01:30 PM ]
本帖最近评分记录 (共 3 条) 点击查看详情
评分人分数时间
lxmxn +6 2007-03-13 02:08
zhxy9804 +2 2007-03-14 22:24
hy433124shc +2 2007-03-17 11:10
2 发表于 2007-03-13 02:09 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  不错,值得收藏学习,顶一个先。
3 发表于 2007-03-13 08:23 ·  中国 湖北 武汉 电信
初级用户
积分 76
发帖 38
注册 2007-03-13 02:54
19年会员
UID 81544
性别 男
状态 离线
4 发表于 2007-03-13 12:49 ·  中国 广东 广州 番禺区 电信
中级用户
★★
脚本爱好者
积分 238
发帖 93
注册 2007-03-11 13:38
19年会员
UID 81417
性别 男
来自 GZ
状态 离线
补充:MsgBox 常数 有时在提示框中可以用其值来代替常数名

例如:Msgbox "你将执行危险操作!", VbExclamation, "警告!" 可以写成: Msgbox "你将执行危险操作!", 48, "警告!"


常数 值 描述

vbOKOnly 0 只显示确定按钮。
vbOKCancel 1 显示确定和取消按钮。
vbAbortRetryIgnore 2 显示终止、重试和忽略按钮。
vbYesNoCancel 3 显示是、否和取消按钮。
vbYesNo 4 显示是和否按钮。
vbRetryCancel 5 显示重试和取消按钮。
vbCritical 16 显示临界消息图标。
vbQuestion 32 显示警告消息图标。
vbExclamation 48 显示警告消息图标。
vbInformation 64 显示提示消息图标。
vbDefaultButton1 0 第一个按钮是默认按钮。
vbDefaultButton2 256 第二个按钮是默认按钮。
vbDefaultButton3 512 第三个按钮是默认按钮。
vbDefaultButton4 768 第四个按钮是默认按钮。
vbApplicationModal 0 应用程序模式。用户必须响应消息框,才能继续在当前应用程序中工作。
vbSystemModal 4096 系统模式。 在 Win16 系统中, 所有应用程序都将中止直到用户响应消息框。 在 Win32 系统中, 此常数提供一个应用程序模式信息框并总是保留在您可能正在运行的所有其它程序的顶部。


下列常数与 MsgBox 函数一起使用,标识用户选定的按钮。仅当类型库中包含以下常数定义,且在您的工程文件中已经显式引用该类型库后,才允许使用这些常数。对于 VBScript,必须在代码中显式声明这些常数。


常数 值 描述

vbOK 1 确定按钮被单击。
vbCancel 2 取消按钮被单击。
vbAbort 3 终止按钮被单击。
vbRetry 4 重试按钮被单击。
vbIgnore 5 忽略按钮被单击。
vbYes 6 是按钮被单击。
vbNo 7 否按钮被单击。

[ Last edited by axi on 2007-3-13 at 07:20 AM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
lxmxn +4 2007-03-13 13:16
5 发表于 2007-03-14 01:30 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
19年会员
UID 73417
性别 男
状态 离线
不错!
6 发表于 2007-03-14 02:03 ·  中国 广东 深圳 宝安区 电信
高级用户
★★★
积分 793
发帖 312
注册 2004-09-02 00:00
21年会员
UID 31104
性别 男
状态 离线
不错,值得收藏。
7 发表于 2007-03-14 02:13 ·  中国 广东 东莞 电信
初级用户
积分 50
发帖 21
注册 2007-03-13 08:06
19年会员
UID 81579
性别 男
状态 离线
带有选择功能的提示框
intAnswer = Msgbox("你想删除这些文件吗?", vbYesNo, "提示")
If intAnswer = vbYes Then
Msgbox "您选择了“是”",,"测试"
Else
Msgbox "您选择了“否”",,"测试"
End If


'能隐藏启动DOS命令的选择框
Set objShell = CreateObject ("Wscript.Shell")
intAnswer = Msgbox(" 你想清除系统中的临时文件吗? ", vbYesNo, "提示")
If intAnswer = vbYes Then
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\*.tmp"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\*._mp"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\*.log"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\*.gid"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\*.chk"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\*.old"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %systemdrive%\recycled\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %windir%\*.bak"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %windir%\prefetch\*.*"),0 ,TRUE
objShell.Run("%comspec% /c rd /s/q %windir%\temp & md %windir%\temp"),0 ,TRUE
objShell.Run("%comspec% /c del /f/q %userprofile%\cookies\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/q %userprofile%\recent\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %userprofile%\Local Settings\Temporary Internet Files\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %temp%\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %userprofile%\Local Settings\Temp\*.*"),0 ,TRUE
objShell.Run("%comspec% /c del /f/s/q %userprofile%\recent\*.*"),0 ,TRUE
End If
Msgbox "已经清除系统中的所有临时文件!", VbInformation, "提示"
这一段存为VBS为何不能用?
8 发表于 2007-03-14 12:32 ·  中国 广东 东莞 电信
初级用户
积分 107
发帖 48
注册 2006-11-30 12:06
19年会员
UID 72174
性别 男
状态 离线
楼主,在你那个输入密码VBS中,可不可以不把密码显出来,也就是以星号显示!
论坛跳转: