Автокликер, перемещающий мышь с использованием относительных координат

Вопрос или проблема

Мне нужно разместить объекты на карте. Их много, но они распределены равномерно (зигзагом).

Мне нужен “автокликер”, который может многократно:

  • кликать
  • перемещать мышь на +5 пикселей по оси Y
  • кликать
  • перемещать мышь на +3 пикселя по оси X и -5 по оси Y
  • кликать
  • повторять n раз

Он должен быть с открытым исходным кодом или бесплатным с “чистым” установщиком.

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

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

Я пробовал Auto Mouse Clicker, Move Mouse, MouseBot, AutoMouser и смотрел скриншоты некоторых других.

Спасибо.

На Microsoft Windows вы можете использовать AutoHotkey (бесплатно, с открытым исходным кодом), который предоставляет:

  • функцию MouseGetPos для получения текущей позиции указателя мыши.
  • MouseMove для перемещения указателя мыши.
  • MouseClick

Вы можете попробовать автокликер и автоперемещатель мыши, подробности можно найти на сайте Kaizen-apps.

Ответ или решение

Конечно, решим вашу задачу с использованием AutoHotkey, который является бесплатным и открытым исходным кодом инструментом для автоматизации задач в среде Microsoft Windows. Это программное обеспечение идеально подходит для создания скриптов, способных выполнять сложные задачи управления мышью и клавиатурными вводами. Рассмотрим, как это сделать с использованием относительных координат движения мыши.

Теория

AutoHotkey предоставляет ряд команд, которые могут идеально соответствовать вашим требованиям. Основные функции, которые мы будем использовать, это:

  1. MouseGetPos: Эта функция позволяет получить текущую позицию курсора мыши. Мы используем её для установки начальной точки отсчёта.

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

  3. MouseClick: Эта функция позволяет симулировать клик левой кнопкой мыши в текущей позиции курсора.

Эти команды позволят вам создавать сценарий, который способен воспроизводить необходимую последовательность движений и кликов мышкой.

Пример

Вот пример скрипта, который демонстрирует, как можно реализовать алгоритм с использованием AutoHotkey:

loop_parse:  ; Этикетка для начала выполнения цикла
Loop, 10    ; Замените 10 на количество повторений, которое вам нужно
{
    ; Получаем начальную позицию мыши
    MouseGetPos, xPos, yPos

    ; Первый клик
    MouseClick, left, xPos, yPos
    Sleep, 100  ; Пауза на 100 миллисекунд между кликами

    ; Двигаем мышь на +5 по оси Y
    MouseMove, 0, 5, 0, R
    MouseClick, left
    Sleep, 100

    ; Двигаем мышь на +3 по оси X и -5 по оси Y
    MouseMove, 3, -5, 0, R
    MouseClick, left
    Sleep, 100
}
return

; Горячая клавиша для начала цикла
^r::  ; Ctrl + R для запуска
   gosub, loop_parse
return

; Горячая клавиша для остановки выполнения скрипта
^s::  ; Ctrl + S для остановки
   ExitApp
return

Применение

  1. Скачайте и установите AutoHotkey со официального сайта.

  2. Создайте текстовый файл с расширением .ahk и вставьте в него пример скрипта. Отрегулируйте количество повторений Loop, 10 на нужное вам количество итераций, например Loop, n, где n — ваш необходимый параметр.

  3. Сохраните файл и дважды щелкните по нему. AutoHotkey запустит скрипт.

  4. Используйте горячие клавиши Ctrl + R для запуска цикла и Ctrl + S для остановки выполнения скрипта.

Этот скрипт прост в использовании и модификации. Вы можете адаптировать его под свои нужды, изменяя параметры движения мыши и добавляя более сложные функции, если потребуется.

Экспертные советы

  • При создании автоматизации интерфейсов пользователи должны учитывать возможность изменения разрешения экрана, чтобы программа оставалась эффективной и надежной.

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

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

Эта концепция и использование инструментов, таких как AutoHotkey, значительно облегчает выполнение однотипных задач и может быть адаптировано для решения различных задач автоматизации, предоставляя пользователям большую гибкость и контроль над их рабочими процессами.

Оцените материал
Добавить комментарий

Капча загружается...