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

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

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

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

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

ControlClick (клик мыши по элементу управления)

Посылает элементу управления нажатие кнопки или поворот колеса мыши.

ControlClick [, Control-or-Pos, WinTitle, WinText, WhichButton, ClickCount, Options, ExcludeTitle, ExcludeText]

Параметры


Control-or-Pos
ЭлементУправления-или-позиция

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

Режим 1 (Позиция): в v1.0.24+ в этом параметре можно указать координаты X и Y относительно верхнего левого угла целевого окна. Координата X должна быть указана прежде координаты Y, и между ними должно быть не менее одного пробела или табуляции. Например: X55 Y33. Если в указанных координатах есть элемент управления, то ему будет выслан клик. Если элемента управления там не окажется, то действие будет выслано самому целевому окну (что, возможно не произведет никакого эффекта, в зависимости от самого окна). Обратите внимание: в этом режиме параметры X и Y, заданные в параметре Options (Опции), игнорируются.

Режим 2 (ClassNN или Текст): укажите необходимый ClassNN (имя класса и номер элемента управления) или имя/текст элемента управления, оба из которых могут быть определены с помощью Window Spy. Если используется имя/текст, то соответствующее поведение определяется режимом SetTitleMatchMode.

По умолчанию, Режим 2 имеет приоритет над Режимом 1. Например, в маловероятном случае, когда ClassNN или текст имеют имя в виде "Xnnn Ynnn", будет задействован Режим 2. Чтобы отменить это поведение, и безоговорочно использовать Режим 1, укажите слово Pos в Options, как в следующем примере:

ControlClick, x255 y152, WinTitle,,,, Pos

Этот пример показывает, что если вдруг у окна существует элемент управления с именем «x255 y152», то будет обрабатываться не элемент управления с этим странным именем, а элемент управления с такими координатами.

WinTitle
Заголовок окна

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

WinText
Текст окна

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

WhichButton
Какая кнопка

Кнопки для кликов: LEFT [левая], RIGHT [правая], MIDDLE [средняя] (или только первый символ каждой из них). Если параметр пуст или опущен, будет использоваться ЛЕВАЯ кнопка.

WheelUp (или WU) [колесико вверх] и WheelDown (или WD) [колесико вниз] поддерживаются в Windows NT/2000/XP или более поздних. В этом случае, ClickCount указывает, на сколько щелчков прокрутить колесико.

X1 (XButton1 - 4-я кнопка мыши) и X2 (XButton2 – 5-я кнопка мыши) поддерживаются в Windows 2000/XP или более поздних.

ClickCount
Количество кликов

Количество посылаемых кликов, может быть выражением. Если параметр пуст или опущен, будет послан 1 клик.

Options
Опции

Ряд из нулевого или большего количества нижеуказанных букв и чисел. Например: d x50 y25.

D: нажать кнопку мыши и не отпускать ее (имитирование нажатия). Если не указаны ни D ни U, будет послан завершенный щелчок (вниз и вверх).

U: отпустить кнопку мыши (имитирование отжатия). Эта опция не должна присутствовать, если опция D уже присутствует (и наоборот).

Pos: укажите слово Pos где-нибудь в Options, чтобы безоговорочно использовать режим Позиция (использования координат X/Y), описанный выше в параметре Control-or-Pos.

Xn: укажите для клика n-позицию X, относительно левого верхнего угла элемента управления (не окна). Если не указано, то клик будет выполнен по горизонтальному центру элемента управления.

Yn: Укажите для клика n-позицию Y, относительно левого верхнего угла элемента управления (не окна). Если не указано, то клик будет выполнен по вертикальному центру элемента управления.

Используйте десятичные (не шестнадцатеричные) числа для указания X и Y.

ExcludeTitle
Исключая окна с заголовками

Окна, заголовки которых имеют это значение, не будут рассматриваться.

ExcludeTextM
Исключая текст

Окна, в которых содержится текст, указанный в этом параметре, не будут рассматриваться.

ErrorLevel

ErrorLevel устанавливается в 1, если возникли проблемы. Если проблем нет, то в 0.

Замечания

Не все приложения исполняют поворот колесика мыши больше 1 раза (ClickCount больше, чем 1). Для этих приложений, используйте цикл Loop, чтобы повернуть колесико на больше, чем один щелчок, как в примере ниже, который поворачивает колесико на 5 щелчков вверх:

Loop, 5
	ControlClick, Control, WinTitle, WinText, WheelUp

Для улучшения надежности после каждого использования этой команды автоматически делается короткая задержка. Эта задержка может быть изменена заданием параметра SetControlDelay.

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

Примеры

ControlClick, OK, Некоторый заголовок окна ; Кликнуть кнопку OK в окне с заголовком «Некоторый заголовок окна»
ControlClick, x55 y77, WinTitle ; Кликнуть по указанным координатам. Обратите внимание на отсутствие запятой между X и Y.

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

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