消息.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