Проверьте, открыт ли уже 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))

Как проверить, открыто ли уже сообщение?
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

Связанный контент