检查 MsgBox 是否已打开 (VBScript)

检查 MsgBox 是否已打开 (VBScript)

消息.bat:

@echo off
Start "" WScript //Nologo Message.vbs "Message 1" 0
Start "" WScript //Nologo Message.vbs "Message 2" 0
Start "" WScript //Nologo Message.vbs "Message 3" 0

消息.vbs:

Do While (msgbox is open?)
WScript.Sleep(500)
Loop
Message = Replace(WScript.Arguments(0),"\n",vbNewLine)
WScript.Quit MsgBox(Message,WScript.Arguments(1))

我如何检查 msgbox 是否已打开?
wshShell.AppActivate("系统设置更改")不起作用。
我的目的是 MsgBox 必须一次出现一个(而不是同时出现),而不会暂停批处理执行(批处理必须在打开后立即关闭)。
换句话说,我想要与以下效果相同:

目的.bat

@echo off
msg * Message 1
msg * Message 2
msg * Message 3

答案1

Start您可以使用带有开关的命令/Wait

@echo off
Start "Msg1" /wait WScript //Nologo Message.vbs "Message 1" 0
Start "Msg2" /wait WScript //Nologo Message.vbs "Message 2" 0
Start "Msg3" /wait WScript //Nologo Message.vbs "Message 3" 0

相关内容