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

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

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

Оригинал статьи в AutoHotkey.chm: "MouseClick", в содержании - "Mouse Control" - "MouseClick", v1.0.46.03.

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

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

MouseClick

Щёлкает кнопкой мыши, нажимает и удерживает кнопку мыши, вращает колесо мыши. Примечание: команда Click является более гибкой и простой в применении.

MouseClick [, WhichButton, X, Y, ClickCount, Speed, D|U, R]

Параметры

WhichButton Имя кнопки или направление колеса. Возможные значения: Left (левая, используется по умолчанию, если параметр опущен), Right (правая), Middle (средняя), X1 (четвёртая), X2 (пятая). У первых трёх вместо полного имени можно указывать только первую букву (L, R, M), четвёртая и пятая поддерживаются для Windows 2000/XP и более поздних. Пример: MouseClick, X1

Вращение колеса требует Windows NT/2000/XP. Возможные значения: WheelUp (или WU) - колесо вверх (от себя), WheelDown (WD) - колесо вниз. Если задано одно из этих значений, то количество щелчков (см. ниже) трактуется как количество шагов поворота колеса.

Однако некоторые приложения не реагируют на количество шагов больше 1. В этом случае используйте цикл, например:
Loop 5
  MouseClick, WheelUp ; Поворот колеса вверх на 5 шагов.
Чтобы автоматически компенсировать возможную взаимозамену пользователем левой и правой кнопок мыши через панель управления операционной системы, вместо MouseClick нужно использовать команду Click.
X, Y Координаты места, куда нужно переместить курсор перед щелчком (могут быть выражениями). Координаты считаются относительно активного окна, если только это не было изменено командой CoordMode. Если опущены, используются текущие координаты курсора.
ClickCount Количество щелчков кнопки или шагов колеса (может быть выражением). Если опущен, щелчок одиночный.
Speed Скорость движения мыши (может быть выражением). Возможные значения: от 0 (быстро) до 100 (медленно). Если 0, мышь перемещается мгновенно. Если опущен, используется скорость по умолчанию 2, либо скорость, установленная командой SetDefaultMouseSpeed.

Параметр Speed игнорируется для режимов SendInput и SendPlay, они перемещают мышь мгновенно (хотя команда SetMouseDelay имеет параметр, влияющий на SendPlay). Чтобы движения мыши выглядели медленными (например, для скрипта, выполняющего демонстрацию для аудитории) используйте SendEvent {Click 100, 200} или SendMode Event (возможно, в сочетании с BlockInput).
D|U Нажатие/отпускание. Если опущен, каждый щелчок состоит из нажатия и отпускания кнопки. Значения: D (нажать кнопку и удерживать её), U (отпустить кнопку).
R Относительность координат. Возможное значение: R. Если указан, задаваемые координаты трактуются как смещение относительно текущих координат курсора. Отрицательные значения координат задают смещение влево (ось Х) и вверх (ось Y).

Примечания

Эта команда использует метод посылки, задаваемый командой SendMode.

Для имитации щелчка с модификатором используйте до и после команды MouseClick команду Send, как показано в примерах ниже.

Send, {Control down}
MouseClick, left, 55, 233
Send, {Control up};

Send, {Shift down}
MouseClick, left, 55, 233
Send, {Shift up}

Режим посылки SendPlay может успешно генерировать события мыши в большем числе игр, чем другие режимы.

Некоторые приложения и игры затрудняются отслеживать движения мыши, если она движется очень быстро. В этом случае можно использовать команду SetDefaultMouseSpeed для замедления скорости перемещения мыши (но только для режима SendEvent).

Команда BlockInput может использоваться для предотвращения помех генерируемым событиям мыши со стороны реальных движений и щелчков мыши, производимых в это время пользователем. Однако это не требуется для режимов SendInput и SendPlay, т.к. в этих режимах действия пользователя запоминаются и выполняются позже.

После каждого нажатия и каждого отпускания кнопки мыши автоматически делается пауза (за исключением режима SendInput). Используйте команду SetMouseDelay для изменения длины этой паузы.

Примеры

; Двойной щелчок в текущей позиции курсора:
MouseClick, left
MouseClick, left

; То же самое:
MouseClick, left, , , 2

; Переместиться к указанным координатам и щёлкнуть правой кнопкой:
MouseClick, right, 200, 300

; Две комбинации клавиш, имитирующие поворот колеса:
#up::MouseClick, WheelUp, , , 2 ; Win-Стрелка вверх -- Повернуть колесо вверх на два шага.
#down::MouseClick, WheelDown, , , 2 ; Win-Стрелка вниз -- Повернуть вниз на два шага.

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

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