我正在编写包含多个 MsgBox 函数的 vbscript。第一个 MsgBox 出现在屏幕上,但它会自动关闭,并且不会出现以下 MsgBox。我认为 vbscript 在第一个 MsgBox 之后也停止执行。有什么办法可以阻止它发生吗?我希望能够自己关闭它。谢谢。
编辑:想通了 VBS 停止选项强制在 1 秒内终止 :(
我正在编写包含多个 MsgBox 函数的 vbscript。第一个 MsgBox 出现在屏幕上,但它会自动关闭,并且不会出现以下 MsgBox。我认为 vbscript 在第一个 MsgBox 之后也停止执行。有什么办法可以阻止它发生吗?我希望能够自己关闭它。谢谢。
编辑:想通了 VBS 停止选项强制在 1 秒内终止 :(
文档清楚地说明:
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 完成”)
所以
我在帮助菜单中找到了自动关闭 msgbox 的解决方案Windows Script Host - Popup Method
IE。
Dim WshShell, BtnCode
Set WshShell = WScript.CreateObject("WScript.Shell")
BtnCode = WshShell.Popup("Do you feel alright?", 3)
-- 3“等待秒”
确保在执行 n 秒后没有要终止的 WScript。
打开运行 ( Windows + R ) 或 CMD。键入 Wscript 按回车。
取消选中在指定秒数后停止脚本的框:
或者,如果您从 .WSH 文件运行脚本,您可能需要编辑 wsh 文件。使用文本编辑器打开 WSH 文件并删除Timeout=n
下面的[Options]
(n 是直到终止的秒数)