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

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

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

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

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

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

WinWait

Дожидается существования указанного окна.

WinWait [, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText]

Параметры

WinTitle Заголовок или часть заголовка окна (метод поиска можно задавать командой SetTitleMatchMode). Чтобы задать окно через его класс, используйте конструкцию ahk_class ТочноеИмяКласса (можно посмотреть программой Window Spy). Чтобы использовать идентификатор процесса (PID), задайте параметр как ahk_pid %ПеременнаяСодержащаяPID%. Чтобы использовать группу окон, задайте параметр как ahk_group ИмяГруппы. Сектор поиска можно сузить, задав несколько критериев, например, My File.txt ahk_class Notepad.

WinTitle может быть пустым, только если задан какой-то из параметров WinText, ExcludeTitle, ExcludeText.
WinText Подстрока из одиночного текстового элемента окна (можно посмотреть программой Window Spy). Скрытые текстовые элементы определяются, если включено определение скрытого текста (команда DetectHiddenText).
Seconds Время ожидания в секундах (может быть выражением). По истечении этого времени ErrorLevel устанавливается в 1. Оставьте параметр пустым, чтобы ждать неопределённо долго. Значение 0 означает то же, что 0.5.
ExcludeTitle Окна, чей заголовок включает значение этого параметра, исключаются.
ExcludeText Окна, чей текст включает значение этого параметра, исключаются.

ErrorLevel

Равен 1, если истекло время ожидания; иначе 0.

Примечания

Если подходящее под параметры окно появляется, команда не будет ждать истечения заданного срока. Вместо этого она немедленно устанавливает ErrorLevel в 0, обновляет значение последнего найденного окна, и выполнение скрипта продолжается.

Пока команда находится в ожидании, новые потоки могут запускаться через горячие клавиши, пункты меню или таймеры.

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

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

Пример

Run, notepad.exe
WinWait, Безымянный - Блокнот, , 3
if ErrorLevel
{
    MsgBox, Истекло время ожидания.
    return
}
else
    WinMinimize ; Сворачивает окно, найденное WinWait.

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

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