.png)
Mensaje.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
Mensaje.vbs:
Do While (msgbox is open?)
WScript.Sleep(500)
Loop
Message = Replace(WScript.Arguments(0),"\n",vbNewLine)
WScript.Quit MsgBox(Message,WScript.Arguments(1))
¿Cómo puedo comprobar si un cuadro de mensajes ya está abierto?
wshShell.AppActivate("Cambio de configuración del sistema")no trabajo.
Mi propósito es que los MsgBoxs deben aparecer uno a la vez (y no todos juntos como sucede) sin suspender la ejecución del lote (el lote debe cerrarse un instante después de abrirse).
En otras palabras, quiero el mismo efecto que:
Propósito.bat
@echo off
msg * Message 1
msg * Message 2
msg * Message 3
Respuesta1
Puedes usar el comando Start
con el interruptor./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