如何在vbs中打开多个消息框?

时间:2013-08-09 14:00:33

标签: vbscript modal-dialog message msgbox

我知道如果你输入

Do

msgbox("This is a msg box")

loop

然后弹出一个不会消失的消息框。

我想要多个能够关闭的消息框。

我该怎么做?

3 个答案:

答案 0 :(得分:0)

您想要查找非模态对话框。你在这里弹出的msgbox是模态的,这就是为什么它们一个接一个地出现(在对话框打开时暂停执行)。

您可以在网上找到相关的参考资料。

Func _NoHaltMsgBox($code=0, $title = "",$text = "" ,$timeout = 0)
  Run (@AutoItExe & ' /AutoIt3ExecuteLine  "MsgBox(' & $code & ', '''& $title & ''', '''& $text &''',' & $timeout & ')"')
EndFunc

答案 1 :(得分:0)

警告:您可能会遇到严重的延迟和/或崩溃。如果您选择继续,我不对任何损失负责。

您可以制作一个批处理文件,多次打开同一个 VBS 脚本。 制作记事本:

msgbox("YourTextHere")

或者如果你想循环它:

do
msgbox("YourTextHere")
loop

用您想要的任何内容替换 YourTextHere。

然后将其另存为.vbs

然后再制作一个记事本:

start "MessageBox" "MessageBox.vbs"

将“MessageBox”更改为您创建的消息框 VBS 的名称。

多次复制和粘贴相同的脚本以多次打开它(这样做的风险由您自己承担,您可能会遇到严重的延迟)​​。

然后将其另存为.bat

或者多次添加批处理文件本身,以便它可以创建一个打开批处理文件的循环,从而可以从中打开更多脚本。 (这样做的风险由您自己承担,您可能会遇到严重的延迟)​​。

例如:

start "BatchFile" "Batchfile.bat"

将“BatchFile”更改为您制作的 Batchfile 的名称。

多次复制并粘贴以再次打开它(这样做的风险由您自己承担,您可能会遇到严重的延迟)​​。

到目前为止,您没问题,因为您没有打开 .bat 文件。如果您尝试对其进行测试,它将打开 .bat 文件的多个实例和消息框,然后从新实例打开更多实例,然后从更新的实例打开更多实例,并重复到足以使您的 PC 崩溃或滞后.

答案 2 :(得分:-1)

您需要一个多按钮MsgBox,然后将其设置为值:如果按下CANCEL,则该过程将停止。

Do
spam=MsgBox("SPAM",3)
If spam = 2 Then
WScript.Quit
End If
Loop