Описание функции | |
WinWaitClose |
Приостановить выполнение утилиты до закрытия указанного окна.
WinWaitClose('title'[,'text'[,timeout=0]])
Параметры
title | Заголовок/дескриптор/класс окна. См. заголовки и текст окон. |
text |
[необязательный] Текст окна. |
timeout |
[необязательный] Тайм-аут в секундах. По умолчанию 0 - бесконечное ожидание. |
Возвращаемое значение
Успех: | Возвращает 1. |
Ошибка: | Возвращает 0, если выход по тайм-ауту. |
Примечания
Если окно не существует, тогда функция немедленно возвращает 1. Окно опрашивается каждые 250 миллисекунд или около того.См. также
WinActive, WinExists, WinWait, WinWaitActive, WinWaitNotActive, WinWaitDelay (Опция), ProcessWaitClose
Примеры: | Как создать кнопку? |
exect=$var_h=WinGetHandle('[CLASS:#32770;REGEXPTITLE:.*\((Копирование|Переименование/перемещение)\)]')||WinWaitClose(Eval('var_h')) infbx=InfoBox2 ;; получить дескриптор окна "Копирования" или "Переименование/перемещение" Total Commander в фоновом режиме или "очереди" + дождаться закрытия окна и выдать сообщение
exect=$var_h=WinGetHandle('[CLASS:#32770;REGEXPTITLE:.*\((Копирование|Переименование/перемещение)\)]')||WinWaitClose(Eval('var_h')) shutd=9 ;; получить дескриптор окна "Копирования" или "Переименование/перемещение" Total Commander в фоновом режиме или "очереди" + дождаться закрытия окна и выключить компьютер
exect=Run('notepad.exe')||$var_h=WinWaitActive('[CLASS:Notepad]')||ControlSend(Eval('var_h'),Null,'Edit1','закройте~~окно')||WinWaitClose(Eval('var_h'))||MsgBox(4096,Null,'окно~~закрыто') ;; запустить "Блокнот", дождаться закрытие окна пользователем
exect=$var_handle=WinClose('[CLASS:TTOTAL_CMD]')||WinWaitClose(Eval('var_handle')) infbx=||TC~~Закрыт||3||150||40 ;; закрытие Total Commander с ожиданием закрытия окна