Вы приостанавливаете этот поток, отображая MsgBox. Выполнение кода будет продолжаться только после того, как вы закроете MsgBox.
Вы либо захотите создать свой собственный gui, который будет похож на окно сообщения, либо запустить окно сообщения в отдельном потоке.
Запуск в отдельном потоке, кажется, уже продемонстрирован в другом ответе, поэтому здесь создается ваше собственное GUI:
Gui, +AlwaysOnTop +ToolWindow ;see docs for description of options
Gui, Add, Text, y20, Hi!
Gui, Add, Button, x96 y63 w75 h23 gGuiClose, OK ;go-label
Gui, Show, Center w181 h91, NiceTitleForOurMsgBox
WinActivate, Untitled - Notepad
WinShow ;can use the last found window, though this command is doing nothing for us(?)
WinWait, Untitled - Notepad
WinWaitClose, Untitled - Notepad
WinClose, NiceTitleForOurMsgBox
;Sure, we could also control click, but lets not.
;ControlClick, Button1, NiceTitleForOurMsgBox
Return
;runs automatically when the gui is closed,
;or also runs from the OK button (via g-label)
GuiClose()
{
ExitApp
}
Я сделал gui чем-то похожим окно сообщения. Конечно, его можно настроить в дальнейшем, чтобы оно выглядело точно как окно сообщения, но я предполагаю, что это не главное.
Я предполагаю, что вы просто пытаетесь постоянно отображать некоторую информацию на экране.
И т. Ч., Я бы не сказал, что окно сообщений действительно предназначено для этого.
Так что, возможно, стоит заглянуть в графический интерфейс, откроет еще много других возможностей.
Например, может быть, вы захотите сделать свой gui фактическим полупрозрачным оверлеем с переходом по клику вместо какого-то окна с кнопкой ОК.