我正在编写包含多个MsgBox函数的vbscript。第一个MsgBox出现在屏幕上,但它会自动关闭,并且不显示以下MsgBox。我认为vbscript也会在第一个MsgBox之后停止执行。有什么方法可以阻止它发生吗?我想能够自己关闭它。谢谢。
答案 0 :(得分:2)
文档明确指出:
MsgBox功能:在对话框中显示消息,等待 用户单击一个按钮,并返回一个指示哪个按钮的值 用户点击了。
所以MsgBox不应该'自动关闭'。我知道(似乎)自动关闭MsgBox的唯一方法是使用// T参数设置超时来终止脚本。
假设:
Option Explicit
WScript.Echo "Will call MsgBox"
MsgBox "Waiting for the cow"
WScript.Echo "MsgBox done"
我明白了:
cscript autoclosemsgbox.vbs
Will call MsgBox
MsgBox done
当我关闭MsgBox时(即使经过漫长的等待),但是
cscript //T:3 autoclosemsgbox.vbs
Will call MsgBox
Script execution time was exceeded on script "autoclosemsgbox.vbs".
Script execution was terminated.
(标记缺少的“MsgBox完成”)
所以
答案 1 :(得分:1)
确保在执行n秒后没有WScript终止。
打开运行( Windows + R )或CMD。输入Wscript按enter键。
取消选中在指定的秒数后停止脚本的框:
或者,如果从.WSH文件运行脚本,则可能需要编辑wsh文件。使用文本编辑器打开WSH文件并删除Timeout=n
下的[Options]
(n是终止的秒数)
答案 2 :(得分:0)
我在帮助菜单Windows Script Host - Popup Method
即
Dim WshShell, BtnCode
Set WshShell = WScript.CreateObject("WScript.Shell")
BtnCode = WshShell.Popup("Do you feel alright?", 3)
- 3"等待秒数"