Вы можете задать любой вопрос по программе Autohotkey в нашей группе Вконтакте. Если решение требует более высокой квалификации- можно обратиться непосредственно ко мне.
Группа Вконтакте | Электронная почта | Симаков Яков ВК |
Перетаскивание мышью. Нажимает указанную кнопку в месте, заданном начальными координатами, и, удерживая её, перемещает мышь в заданное конечными координатами место и там отпускает кнопку.
WhichButton | Имя кнопки. Возможные значения: Left (левая), Right (правая), Middle (средняя), X1 (четвёртая), X2 (пятая). У первых трёх вместо полного имени можно указывать только первую букву (L, R, M). Чтобы автоматически компенсировать возможную взаимозамену пользователем левой и правой кнопок мыши через панель управления операционной системы, вместо MouseClickDrag нужно использовать команду Click. |
X1, Y1 | Начальные координаты (могут быть выражениями). Мышь будет перемещена в эту точку перед тем как будет нажата кнопка. Координаты считаются относительно активного окна, если только это не было изменено командой CoordMode. Если опущены, используются текущие координаты курсора. |
X2, Y2 | Конечные координаты (могут быть выражениями). В этой точке кнопка будет отпущена. Координаты считаются относительно активного окна, если только это не было изменено командой CoordMode. |
Speed | Скорость движения мыши (может быть выражением). Возможные значения: от 0 (быстро) до 100 (медленно). Если 0, мышь перемещается мгновенно. Если опущен, используется скорость по умолчанию 2, либо скорость, установленная командой SetdefaultMouseSpeed. Параметр Speed игнорируется для режимов SendInput и SendPlay, они перемещают мышь мгновенно (хотя команда SetMouseDelay имеет параметр, влияющий на SendPlay). Чтобы движения мыши выглядели медленными (например, для скрипта, выполняющего демонстрацию для аудитории) используйте SendEvent {Click 100, 200} или SendMode Event (возможно, в сочетании с BlockInput). |
R | Относительность координат. Возможное значение: R. Если задан, начальные координаты трактуются как смещения от текущего положения курсора, а конечные - как смещения от начальных. Отрицательные значения координат задают смещение влево (ось Х) и вверх (ось Y). Пример ниже смещает курсор на 5 пикселов вправо и вниз, нажимает левую кнопку и, удерживая её, двигает курсор на 10 пикселов вправо и вниз, где отпускает кнопку: MouseClickDrag, Left, 5, 5, 10, 10, , R
|
Эта команда использует метод посылки, задаваемый командой SendMode.
Перетаскивание также можно осуществлять различными вариантами команды Send. Это более гибкий метод, т.к. режим посылки может быть задан через имя команды. Например:
Другое преимущество указанного метода состоит в том, что в отличие от команды MouseClickDrag он автоматически компенсирует возможную взаимозамену пользователем левой и правой кнопок через панель управления операционной системы.
Режим посылки SendPlay может успешно генерировать события мыши в большем числе игр, чем другие режимы. Однако перетаскивание в режиме SendPlay может не работать в контролах RichEdit (и, возможно, в других), таких как в WordPad и Metapad.
Некоторые приложения и игры затрудняются отслеживать движения мыши, если она движется очень быстро. В этом случае можно использовать команду SetdefaultMouseSpeed для замедления скорости перемещения мыши (но только для режима SendEvent).
Команда BlockInput может использоваться для предотвращения помех генерируемым событиям мыши со стороны реальных движений и щелчков мыши, производимых в это время пользователем. Однако это не требуется для режимов SendInput и SendPlay, т.к. в этих режимах действия пользователя запоминаются и выполняются позже.
После каждого нажатия и каждого отпускания кнопки мыши автоматически делается пауза (за исключением режима SendInput). Эта пауза также присутствует после каждого шага при движении мыши во время перетаскивания. Используйте команду SetMouseDelay для изменения длины этой паузы.