Заголовки и текст окон (основы)

При автоматизации, большинство окон могут быть однозначно определены по своему заголовку или комбинации заголовок & текст. При использовании утилиты AutoIt v3 Window Info эта информация может быть легко получена. Заголовки большинства окон очевидны (например, Безымянный - Блокнот для notepad.exe), а этого, в большинстве случаев, хватает для автоматизации.


Примечание: пустая строка "", переданная в качестве заголовка и текста означает, что будет использовано текущее активное окно (однако, это не всегда так. См. WinTitleMatchModes)!


Заголовки окон и текст чувствительны к регистру. Чтобы избежать проблем при переписывании используйте утилиту Window Info для копирования заголовка и текста окна.
Можно задать принудительное сравнение в нижнем регистре, используя расширенные режимы.


Большинство функций AutoIt для работы с окнами имеют параметры для указания заголовка и текста. Например, функция WinWaitActive. Эта функция приостановит выполнение скрипта до тех пор, пока указанное окно не появится и не станет активным.

WinWaitActive ( "title" [, "text" [, timeout]] )


title - единственный необходимый параметр для этой функции. Параметры text и timeout являются необязательными. В некоторых функциях параметр text не является опциональным, однако, можно использовать пустую строку "", если подходит любой текст.


Чтобы использовать вышеприведённую функцию для работы с любым окном Блокнота, подходят оба метода:

WinWaitActive("Безымянный - Блокнот")

и

WinWaitActive("Безымянный - Блокнот", "")


Если бы в этом же окне Блокнота была написана строка текста "Это текст", то утилита AutoIt v3 Window Info показала бы:



Учтите, что всё, что видит утилита AutoIt v3 Window Info, видит и AutoIt. Теперь у нас достаточно информации, чтобы отличить это окно Блокнота от других (даже если их открыто ещё с десяток). В этом случае можно использовать:


WinWaitActive("Безымянный - Блокнот", "Это текст")


Текст окна

Текст окна включает в себя всё, что AutoIt может "видеть". Обычно это содержимое управляющих элементов edit (в примере выше "Это текст"), но также включает в себя следующую информацию:

При использовании параметра text в функциях для работы с окнами, он рассматривается, как подстрока. К примеру, использование в качестве параметра text строку "текст" в вышеприведённом коде даст тот же результат.


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


Примечание: скрытые окна могут быть сопоставлены по заголовку ("title"), только если параметр "text" является пустой строкой ("").