Verifique se um MsgBox já está aberto (VBScript)

1

Message.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

Message.vbs:

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

Como posso verificar se um msgbox já está aberto?
wshShell.AppActivate (" Mudança nas configurações do sistema ") não funciona.
Meu objetivo é que as MsgBoxs devem aparecer uma de cada vez (e não todas juntas, como acontece) sem suspender a execução em lote (o lote deve fechar um instante após a abertura). Em outras palavras, quero o mesmo efeito de:

Purpose.bat

@echo off
msg * Message 1
msg * Message 2
msg * Message 3
    
por Riccardo La Marca 25.08.2017 / 20:29

1 resposta

0

Você pode usar o comando Start com a opção /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
    
por 04.09.2017 / 10:50