Главная
ГлавнаяСтатьиDокументация AutoIt ► Заголовки и текст окон

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

AutoIt может искать окна в одном из трёх режимов сравнения заголовков. Режим сравнения устанавливается функцией AutoItSetOption с помощью опции WinTitleMatchMode

 

Режим 1 (по умолчанию)

Сравнивает часть заголовка с его началом.

В этом режиме окно с заголовком Безымянный - Блокнот может быть найдено как "Безымянный - Блокнот", "Безымянный", "Бе" и т.п.

 

Пример:

 

WinWait("Безымянный")

 

Режим 2

Сравнивает любую подстроку заголовка.

В этом режиме окно с заголовком Безымянный - Блокнот может быть найдено как "Безымянный - Блокнот", "Безымянный", "Блокнот", "нот" и т.п.

 

Пример:

 

WinWait("Блокнот")

 

Режим 3

Полное совпадение заголовка.

В этом режиме окно с заголовком Безымянный - Блокнот может быть найдено только при использовании "Безымянный - Блокнот"

 

Режим 4 (Оставлено для обратной совместимости)

Расширенный режим

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

 

Режимы от -1 до -3

Принудительное сравнение заголовка в нижнем регистре (по соответствующим режиму правилам).


 

Расширенные установки поиска окна

Специальное установки могут быть использованы в качестве параметра title в функциях работы с окнами. Эти установки могут быть использованы, чтобы отличить окна по следующим свойствам:

  • TITLE - Заголовок окна
  • CLASS - Внутреннее название класса окна
  • REGEXPTITLE -Заголовок окна (с использованием регулярных выражений, если регулярное выражение составлено неверно, значение@error будет установлено равным 2)
  • REGEXPCLASS - Название класса окна (с использованием регулярных выражений, если регулярное выражение составлено неверно, значение @error будет установлено равным 2)
  • LAST - Последнее окно, использованное в предыдущей команде AutoIt
  • ACTIVE - Текущее активное окно
  • X \ Y \ W \ H - Координаты и размер окна
  • INSTANCE - Номер экземпляра окна, если несколько окон соответствуют критерию поиска (отсчёт начинается с 1).

В функциях по работе с окнами в качестве параметра title могут использоваться одно или несколько свойств в следующем формате:

 

[СВОЙСТВО1:Значение1; СВОЙСТВО2:Значение2]

 

Пары "Свойство" и "Значение" перечисляются через ";", а между собой "Свойство" и "Значение" разделяются с помощью ":".

Примечание: если "Значение" должно содержать символ ";", он должен быть продублирован.

 

Пример: ожидать активацию окна с названием класса "Notepad"

 

WinWaitActive("[CLASS:Notepad]", "")

 

Пример: закрыть текущее активное окно

 

WinClose("[ACTIVE]", "")

 

Пример: ожидать активацию второго окна с заголовком "My Window" и именем класса "My Class". Используются 3 свойства

 

WinWaitActive("[TITLE:My Window; CLASS:My Class; INSTANCE:2]", "")

 

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

 

WinList("[REGEXPCLASS:#\d+]")

 

Пример: получить текст заголовка окна, с координатами X=50; Y=40, шириной равной 300, высотой равной 250. Всю метрику окна указывать не обязательно. Используются 5 свойств.

 

WinGetTitle("[CLASS:My Class; X:50; Y:40; W:300; H:250]")


 

Дескрипторы окон (HWND)

Различные тип данных в AutoIt имеет встроенную поддержку дескрипторов окон (HWND). Дескриптор окна - специальное значение, которое операционная система присваивает каждому создаваемому окну. Если имеется дескриптор, то его можно использовать вместо параметра title в любых функциях, работающих с окнами, имеющие параметры title/text. Преимущество использования дескриптора окна наблюдается в случаях, когда открыто несколько приложений, имеющих такие же заголовки и текст, при этом вы можете однозначно идентифицировать окно по его дескриптору. При использовании дескриптора окна в качестве параметра title, параметр text полностью игнорируется.

Многие функции, например WinGetHandleWinList и GUICreate возвращают именно дескриптор окна. Важно заметить, дескриптор окна не рассматривается, как число или строка - это уникальный тип данных.

 

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

 

Пример:

 

$handle = WinGetHandle("Безымянный - Блокнот", "") 
WinClose($handle)


 

Категория: Dокументация AutoIt Добавил: Grek (19.01.2015) | | Теги: Заголовки и текст окон
Всего комментариев: 0