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


WinClose

Закрывает указанное окно.

WinClose('title'[,'text'])

Параметры

title Заголовок/дескриптор/класс окна. См. заголовки и текст окон.
text [необязательный] Текст окна.

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

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

Примечания

Эта функция отправляет окну "close message", результат зависит от окна (запрос на сохранение данных и т.п.). Чтобы принудительно закрыть окно, используйте функцию WinKill(). Если несколько окон соответствуют критерию, будет закрыто самое недавнее активное окно.

Функцию можно подключить через команду exect

См. также

WinActivate, WinExists, WinKill, WinSetState, WinTitleMatchMode (Опция), ProcessClose, WinMove

Примеры:
 Как создать кнопку?


exect=WinClose('[CLASS:Notepad]') ;; закрывает окно "Блокнота"

exect=Run('notepad.exe')||WinWait('[CLASS:Notepad]')||Sleep(3000)||WinClose('[CLASS:Notepad]') ;; запустить "Блокнот", дождаться появления указанного окна и через 3 секунды закрыть окно

exect=$var_handle=WinGetHandle('Безымянный~~~~Блокнот')||WinClose(Eval('var_handle')) ;; определить дескриптор окна по его заголовку и закрыть

exect=Run('notepad.exe')||$var_h=WinWait('[CLASS:Notepad]',Null,5)||SendKeepActive(HWnd($var_h)) <FOR> 1 <TO> 10 exect=Send('привет')||Sleep(500) <NEXT> exect=SendKeepActive(Null)||WinClose(HWnd($var_h)) ;; запустить "Блокнот" и удерживать окно блокнота активным при использовании функции Send()

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