Описание функции


WinWaitClose

Приостановить выполнение утилиты до закрытия указанного окна.

WinWaitClose('title'[,'text'[,timeout=0]])

Параметры

title Заголовок/дескриптор/класс окна. См. заголовки и текст окон.
text [необязательный] Текст окна.
timeout [необязательный] Тайм-аут в секундах. По умолчанию 0 - бесконечное ожидание.

Возвращаемое значение

Успех:Возвращает 1.
Ошибка:Возвращает 0, если выход по тайм-ауту.

Примечания

Если окно не существует, тогда функция немедленно возвращает 1. Окно опрашивается каждые 250 миллисекунд или около того.

Функцию можно подключить через команду exect
Для передачи пустой строки можно воспользоваться ключевым словом Null
Для передачи значения по умолчанию можно воспользоваться ключевым словом Default

См. также

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 с ожиданием закрытия окна


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru