Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также саму программу AutoHotkey и проблемы её использования)

Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.

Оригинал статьи в AutoHotkey.chm: "WinKill", в содержании - "Window Management" - "WinKill", v1.0.46.07.

Ник переводчика: YMP.

Настоящее имя переводчика: Юрий Попов.

WinKill

Принудительно закрывает ("убивает") указанное окно.

WinKill [, WinTitle, WinText, SecondsToWait, ExcludeTitle, ExcludeText]

Параметры

WinTitle Заголовок или часть заголовка окна (метод поиска можно задавать командой SetTitleMatchMode). Если этот и 3 других оконных параметра пустые или опущены, будет использовано последнее найденное окно. Если параметр задан буквой А и 3 других оконных параметра пустые или опущены, будет использовано активное окно. Чтобы задать окно через его класс, используйте конструкцию ahk_class ТочноеИмяКласса (можно посмотреть программой Window Spy). Чтобы использовать идентификатор процесса (PID), задайте параметр как ahk_pid %ПеременнаяСодержащаяPID%. Чтобы закрыть группу окон, задайте параметр как ahk_group ИмяГруппы (WinText, ExcludeTitle и ExcludeText должны быть в этом случае пустыми). Чтобы использовать идентификатор окна, задайте параметр как ahk_id %ПеременнаяСодержащаяID%. Сектор поиска можно сузить, задав несколько критериев, например, My File.txt ahk_class Notepad.
WinText Подстрока из одиночного текстового элемента окна (можно посмотреть программой Window Spy). Скрытые текстовые элементы определяются, если включено определение скрытого текста (команда DetectHiddenText).
SecondsToWait Время ожидания закрытия окна в секундах (может быть числом с плавающей точкой или выражением). Если опущен или пустой, команда не будет ждать. Если 0, команда ждёт 500 мс. Если окно не закроется в течение заданного времени, выполнение скрипта будет продолжено. Эта команда не устанавливает значения ErrorLevel, так что используйте команды IfWinExist или WinWaitClose, если вам нужно знать наверняка, закрылось ли окно.
ExcludeTitle Окна, чей заголовок включает значение этого параметра, исключаются.
ExcludeText Окна, чей текст включает значение этого параметра, исключаются.

Примечания

Команда вначале делает короткую попытку закрыть окно нормальным способом. Если это не удаётся, она будет пытаться принудить окно к закрытию путём завершения его процесса.

Если активное в данный момент окно подходит под указанные в команде параметры, будет закрыто именно оно, а не какое-либо из окон ниже его, даже если оно тоже совпадает с этими параметрами. Как общее правило, если несколько окон отвечают заданным критериям, закрыто будет самое верхнее (последнее активное) окно.

Эта команда работает с самым верхним совпадающим окном всегда, кроме случая, когда WinTitle задан как ahk_group ИмяГруппы, в этом случае она воздействует на все окна группы.

Заголовки и текст окон чувствительны к регистру. Скрытые окна не определяются, если только это не задано командой DetectHiddenWindows.

Пример

IfWinExist, Безымянный - Блокнот
    WinKill ; Использует окно, найденное выше.
else
    WinKill, Калькулятор

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.