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-Стрелка вниз -- Повернуть вниз на два шага.