Эмуляция нажатия клавиш windows

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

Например, Key Manager позволяет переназначать комбинации клавиш и кнопок мыши, последовательности нажатий, долгое нажатие (нажатие и удержание). Переназначать клавиши в зависимости от раскладки клавиатуры. Позволяет представлять действия в виде всплывающих меню, которые можно открывать по горячим клавишам; выполнять, записывать и редактировать макросы нажатий (последовательности нажатий); впечатывать или вставлять текст (в том числе форматированный), мгновенно заполнять формы сайтов; запускать программы и открывать сайты (в параметрах адреса которых можно указать текущий выделенный текст); менять раскладку и регистр выделенного текста; управлять питанием монитора, компьютера; регулировать громкость и устанавливать определенный уровень; выполнять действия над окнами (перемещение, установка конкретного размера) и многое другое.

Key Manager — открывает новые возможности клавиатуры и мыши, позволяя значительно сэкономить время и силы при работе за компьютером. Благодаря гибкому интерфейсу возможно создавать различные действия и выполнять их по нажатию горячих клавиш, кнопок мыши или комбинаций, а также представлять их в виде всплывающего меню. Кроме этого программа имеет мощные средства по переопределению клавиш и кнопок мыши и их блокировке. Переопределение и работу действий можно ограничить или разрешить только в определенных программах и/или окнах.

Key Manager позволяет назначить на обычное, длительное (нажатие и удержание) и последовательное нажатие клавиш, кнопок мыши, прокрутку колеса и комбинации с клавишами-модификаторами, а также всплывающее меню следующие действия:

  • Отображение всплывающего меню с другими определенными Вами действиями.

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

  • Нажатие и блокировку клавиш, комбинаций клавиш, нажатие кнопок и осуществление прокрутки колеса мыши.

  • Запись и выполнение макросов нажатий клавиш и кнопок мыши с возможностью задавать задержки между нажатиями.

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

  • Запуск любой программы или открытие файла или папки (для создания достаточно просто перетащить ярлык, папку или файл в окно действия).

  • Открытие определенной Вами веб-страницы с возможностью использования в адресе текстовых шаблонов, которые позволяют получить и подставить текущий выделенный текст, содержимое буфера обмена и многое другое.

  • Мгновенное создание электронного письма с возможностью использования шаблонов.

  • Выполнение действий над всеми окнами или над активным (закрыть, свернуть, развернуть на весь экран, восстановить, скрыть, показать, перерисовать, переместить, изменить размер).

  • Управление питанием компьютера, питанием монитора, управление звуком компьютера, запуск хранителя экрана и многое другое.

Также в программе есть возможность представить практически любую клавишу или кнопку мыши как пользовательский модификатор и использовать (подобно Alt и Ctrl) в комбинации с другими клавишами, кнопками мыши и модификаторами.

Языки интерфейса:
Русский, Английский, Испанский, Итальянский, Немецкий,
Польский, Португальский, Румынский, Французский,
Чешский, Японский.
Системные требования: Windows 11/10/8.1/8/7/Vista/​XP/2000/Server 2003-2025.

Снимки экрана

 

Видеопримеры

Переназначение комбинаций клавиш

Пример замены комбинаций Ctrl + Insert (Копировать), Shift + Insert (Вставить), Shift + Delete (Вырезать) и Alt + Backspace (Отменить) в устаревшей программе Borland Turbo C++ на стандартные Ctrl + C, Ctrl + V, Ctrl + X и Ctrl + Z соответственно. Также созданные комбинации отображаются в виде всплывающего меню по нажатию комбинации Ctrl + «Правая кнопка мыши» и определяется исключение, чтобы заданные комбинации клавиш работали только в указанной программе.

Эмуляция кликов мыши в разных программах по горячим клавишам

Видео показывает возможность Key Manager позиционировать и смещать (с кликом) указатель мыши относительно активного окна и предыдущей позиции с возможностью возвращать указатель в изначальное положение после выполнения действия.

Вставка определенного пользователем форматированного текста (RTF) в MS Word и другие текстовые редакторы

В примере демонстрируется вставка форматированного RTF текста, который содержит текущую дату, в программу MS Word. Также показана замена выделенного текста на этот же текст, но окружённый скобками.

Открытие любого выделенного текста в интернет браузере

В примере демонстрируется применение действия «Открытие веб-страницы» и шаблона %km_seltext (выделенный текст).

Эмуляция двойного клика левой кнопки мыши

В примере на клавишу F1 назначается двойной клик левой кнопки мыши и на F2 — двойной клик с задержкой 600 мс.

Запись набираемого текста и последующая его вставка (макрос)

Пример записи нажатий клавиш и последующее их нажатие (воспроизведение) по нажатию комбинации Win + 5.

Вставка текста из буфера обмена в программы, не поддерживающие буфер обмена

На клавишу Ctrl + V назначается действие впечатать текст, которое, с применением шаблона %km_cbtext, впечатывает текстовое содержимое буфера обмена.

Как пользоваться программой

Установка программы

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

Работа с программой

После установки запустите программу. На экране появится главное окно:

В верхней части этого окна находится панель для работы с профилями, а также кнопки «Пауза» и «Настройки программы»:

Ниже этой панели находится окно, посредством которого осуществляется добавление новых действий и папок, и управление ими.

Для добавления нового действия необходимо кликнуть на строку «(кликните, чтобы добавить)»:

Появится окно, показанное на рисунке:

Большинство действий имеют имя, которое отображается в поле «Имя действия». По умолчанию оно формируется автоматически на основе данных действия.

Поcле добавления, новое действие появляется в древовидном списке главного окна:

Поскольку добавленное в примере действие-папка имеет назначенную комбинацию клавиш LCtrl+LShift+1, оно не только позволяет структурировать все имеющиеся действия, но и позволяет представить содержащиеся в нем действия в виде всплывающего меню.

Для демонстрации этого добавим в вышеуказанное действие-папку три действия. Первое будет вставлять текст, второе запускать программу, а третье заменять долгое нажатие клавиши CapsLock на комбинацию клавиш Ctrl+C (в Windows этой комбинации соответствует команда — «копировать в буфер обмена»).

Для этого кликните по строке «(кликните, чтобы добавить)», которая находится внутри папки:

Выберите в появившемся окне действие «Вставка текста». Далее в поле «Вставляемый текст» напишите какой-нибудь текст, например: «Текст написан:», за которыми следуют текущая дата и время. Чтобы использовать дату и время, необходимо вставить шаблон. Для этого нужно кликнуть кнопку , и в появившемся меню выбрать требуемый вид даты и времени. Вы можете редактировать шаблоны самостоятельно, основываясь на имеющихся примерах. Конечный вид вставляемого сообщения отображается в поле «Предпросмотр»:

При работе с этим действием его имя формируется автоматически. Если Вы хотите определить свое имя для действия — впишите его самостоятельно в поле «Имя действия».

Для добавления действия нажмите «ОК».

Теперь добавьте в папку второе действие. Снова кликните по строке в папке «(кликните, чтобы добавить)» и выберите в списке действие «Запуск программы или файла».

В данном примере будет осуществляется запуск программы MS Word. Для того чтобы указать на программу MS Word, можно кликнуть кнопку «Файл…» и указать исполняемый файл. Это также можно сделать проще, просто перетащив мышью на окно свойств действия ярлык из меню «Пуск» или исполняемый файл из папки требуемой программы, например «C:\Program Files\».

Также назначим запуск этого действия на нажатие комбинации клавиш Ctrl+2 в поле «На клавишу или комбинацию».

В конечном итоге окно будет выглядеть так:

Для добавления этого действия нажмите «ОК».

Теперь добавьте в папку последнее действие — нажатие комбинации Ctrl+С, а также назначте его на длительное нажатие (нажатие и удерживание) клавиши CapsLock.

Для этого снова кликните внутри папки на строку «(кликните, чтобы добавить)» и выберите в списке действие «Клавиша или комбинация».

Кликните мышью в поле «Клавиша или комбинация» и нажмите комбинацию клавиш Ctrl+C.

Напишите в поле «Имя действия» — текст «Копировать».

Кликните в поле «На клавишу или комбинацию» и нажмите клавишу CapsLock и поставьте флажок «Долгое нажатие».

По окончанию окно будет выглядеть так:

Для добавления этого действия нажмите «ОК».

Главное окно в конечном виде будет выглядеть так:

Теперь попробуем, как это работает. Убедитесь, что программа не стоит на паузе и нажмите комбинацию клавиш LCtrl+2 — запустится программа MS Word.

В программе MS Word нажмите комбинацию клавиш LCtrl+LShift+1 — появится меню:

Выберите в меню первый пункт «Текст написан…» — произойдет вставка текста:

Допишите что-нибудь к вставленному тексту, выделите весь текст и нажмите и удерживайте некоторое время клавишу Caps Lock — произойдет внутреннее нажатие комбинации клавиш Ctrl+C — копирование текста в буфер обмена. Выберите в меню программы MS Word — «Правка» -> «Вставить» — вставится текст, скопированный в буфер обмена!!!

Для тренировки Вы можете назначить на обычное нажатие клавиши CapsLock — нажатие комбинации клавиш Ctrl+V (вставить текст), назвав действие «Вставить», тем самым Вы сможете пользоваться буфером обмена, нажимая всего одну клавишу CapsLock. Для копирования — долгое нажатие, для вставки — обычное.

Если Вам требуется изначальная клавиша CapsLock, Вы можете назначить нажатие этой клавиши на другую клавишу или комбинацию, например на Ctrl+CapsLock или Ctrl+Shift+Tab:

Управление действиями и горячие клавиши

Созданные папки и действия Вы можете легко перемещать и копировать (удерживая клавишу Ctrl при перемещении).

Добавлять, изменять и удалять действия и папки Вы можете с помощью контекстного меню или используя следующие горячие клавиши:

Ctrl+P Включить/Отключить паузу
Insert Вставить действие
Shift+Insert Вставить папку/меню
Enter Добавить/Изменить папку или действие в зависимости от контекста
Delete Удалить папку или действие
Ctrl+Delete Удалить все папки и действия (очистить текущий профиль)
Ctrl+C Копировать действие или папку
Ctrl+X Вырезать действие или папку
Ctrl+V Вставить действие или папку
Ctrl+Shift+C Копировать весь профиль как папку

В перечислении Qt::Key для события QKeyEvent определены 15 типов клавиш управления мультимедиа (см. таблицу в конце статьи). Все они могут быть использованы в фильтре событий (installEventFilter) для обработки нажатия клавиш на мультимедийной клавиатуре (позволяющей управлять аудиоустройством и воспроизведением).
В статье рассмотрена обратная задача — отправка в систему команд управления мультимедиа путем эмуляции нажатия соответствующих клавиш в Windows, Linux и MacOSX (операционные системы упорядочены по времени, потраченному на поиск решения). Представленный в статье материал может быть отправной точкой к дальнейшему изучению вопроса кроссплатформенной отправки событий в цикл обработки системных сообщений.

Прежде чем перейти непосредственно к описанию исходного кода давайте рассмотрим, где вообще может применяться эмуляция мультимедийных клавиш, например:

  • создание виджетов управления воспроизведением аудио;
  • эмуляция пользовательского ввода при тестировании приложений;
  • создание приложения для удаленного управления аудиосистемой. В данном случае приложение на компьютере выступает в качестве сервера, а клиентом является смартфон. Такая связка позволит управлять аудио/видео не вставая с дивана или, например, автоматически ставить на паузу воспроизведение при поступлении входящего звонка;
  • создание приложения, «расшаривающего» клавиатуру и мышь на два и более компьютеров по сети (предварительно дополнив представленный код до полного набора клавиш);
  • создание систем «умный дом», новых человеко-машинных интерфейсов (управление голосовыми командами и др.).

Так как QEvent позволяет отправлять сообщение только конкретному объекту «внутри» приложения, то стандартными средствами Qt эмулировать нажатия клавиш не получится. Для этого будем использовать системные вызовы Api (в случае с Windows) или соответствующие библиотеки (X Window System в Linux и ряд фреймворков в Mac OS X).
Для удобства описания почти всю реализацию отправки сообщений разместим в функции sendKeyEventToSystem(Qt::Key qtKey), которой передается код клавиши из перечисления Qt::Key. Данная функция и будет вызываться из слотов, например:

void playPauseToogle() {  //слот переключения между воспроизведением и паузой
	postKeyEventToSystem(Qt::Key_MediaTogglePlayPause);
}

Платформенно-зависимый код будем отделять директивами #ifdef OS_TYPE и #endif (еще часть кода на Objective-C вынесем в отдельный файл macx.mm, но об этом позже).

Эмуляция нажатия клавиатуры в Windows

В данной операционной системе за отправку сообщений отвечает функция SendInput. Она позволяет отправлять сообщения с кодами, полный перечень которых представлен на странице MSDN Virtual-Key Codes.
Для использования этой функции необходимо подключить заголовочный файл <Windows.h>.

#ifdef Q_OS_WIN32
    #define WINVER 0x0500
    #include <Windows.h>
#endif

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

sendKeyEventToSystem(Qt::Key qtKey) { //функция эмуляции нажатия клавиши. qtKey - тип клавиши
#ifdef Q_OS_WIN32
    INPUT ip; //устройство ввода
    ip.type = INPUT_KEYBOARD;
    ip.ki.wScan = 0;
    ip.ki.time = 0;
    ip.ki.dwExtraInfo = 0;
//в зависимости от типа клавиши
    switch (qtKey) {
    case Qt::Key_MediaPrevious:
        ip.ki.wVk = VK_MEDIA_PREV_TRACK; //предыдущий трек
        break;
    case Qt::Key_MediaTogglePlayPause:
        ip.ki.wVk = VK_MEDIA_PLAY_PAUSE; //для переключения режима воспроизведения
        break;
    case Qt::Key_MediaNext:
        ip.ki.wVk = VK_MEDIA_NEXT_TRACK; //следующий трек
        break;
    default:
        return;
        break;
    }
	//посылаем событие нажатия клавиши
    ip.ki.dwFlags = 0;
    SendInput(1, &ip, sizeof(INPUT));
    //а затем отжатия клавиши
    ip.ki.dwFlags = KEYEVENTF_KEYUP;
    SendInput(1, &ip, sizeof(INPUT));
#endif
}

Здесь и далее в примерах будут использоваться всего 3 клавиши. В конце статьи приведена таблица соответствия кодов.

Эмуляция нажатия клавиатуры в Linux

Для эмуляции клавиш в Linux, на мой взгляд, проще всего использовать библиотеку разработчиков libXtst (X11 Record extension library).
Для ее получения из пакетов необходимо выполнить команду:

sudo apt-get install libxtst-dev

Также будет необходимо подключить библиотеку в файле проекта:

unix:!macx:LIBS += -lXtst -lX11

В начале файла подключим необходимые заголовочные файлы и определим ряд констант, соответствующих кодам мультимедийных клавиш (дело в том, что в файле X11/keysymdef.h коды для мультимедийных клавиш отсутствуют).

#ifdef Q_OS_LINUX
    #include <X11/Xlib.h>
    #include <X11/extensions/XTest.h>
    #define XF86AudioLowerVolume   0x1008ff11
    #define XF86AudioMute                0x1008ff12 
    #define XF86AudioRaiseVolume   0x1008ff13
    #define XF86AudioPlay               0x1008ff14
    #define XF86AudioStop               0x1008ff15
    #define XF86AudioPrev                0x1008ff16
    #define XF86AudioNext                0x1008ff17
    #define XF86AudioPause            0x1008ff31
#endif

Код эмуляции в части Linux:

#ifdef Q_OS_LINUX
    unsigned int key;
    unsigned int keycode;
    switch (qtKey) {
    case Qt::Key_MediaPrevious:
        key = XF86AudioPrev;
        break;
    case Qt::Key_MediaTogglePlayPause:
        key = XF86AudioPlay;
        break;
    case Qt::Key_MediaNext:
        key = XF86AudioNext;
        break;
    default:
        return;
        break;
    }
    // подключаемся к X
    Display *display;
    display = XOpenDisplay(NULL);
    // получаем код клавиши
    keycode = XKeysymToKeycode(display, key);
    // эмулируем нажатие клавиши
    XTestFakeKeyEvent(display, keycode, 1, 0);
    // эмулируем отжатие клавиши
    XTestFakeKeyEvent(display, keycode, 0, 0);
    // очищаем буфер X
    XFlush(display);
    // отключаемся от X
    XCloseDisplay(display);
#endif

Эмуляция нажатия клавиатуры в Mac OS X

Попытки найти решение для MacOS X не приносили плодов (скупые примеры были написаны на Objective-C), до тех пор, пока в гугле не натолкнулся на статью с хабра Интеграция приложений Qt в среду Mac OS X (с использованием Cocoa и Objective-C++). Мне уже ранее попадалась англоязычная статья, в которой описывалось, как изолировать код C++ для использования в Objective-C приложении. Мне же нужно было совершенно противоположное — изолировать Objective-C код (который выполнял нужные мне функции, но в то же время на который ругался компиллятор). Все оказалось достаточно просто:
1. создал файл macx.mm и разместил в нем Objective-С код (при этом в файле проекта автоматически появилась строка

OBJECTIVE_SOURCES += macx.mm 

2. создал файл macx.h и разместил в нем объявление функции из macx.mm (добавив #include «macx.h» в macx.mm).
3. в файле проекта добавил подключение необходимых фреймворков, в частности:

macx:LIBS += -framework ApplicationServices -framework IOKit

4. Внутри макроса условной компиляции для Mac OS X добавил необходимые хидеры и macx.h.
5. В уже знакомой вам switch-case структуре вставил вызовы новоиспеченной функции.

Таким образом в начале файла у нас появилась конструкция для Mac OS X:

#ifdef Q_OS_MAC
    #include <ApplicationServices/ApplicationServices.h> //оставил для типа UInt8
    #include <IOKit/hidsystem/ev_keymap.h> //коды клавиш
    #include "mac.h" //определение функции для вызова Objective-C кода
#endif

В функцию sendKeyEventToSystem добавляется следующий код:

#ifdef Q_OS_MAC
    switch (qtKey) {
    case Qt::Key_MediaPrevious:
        HIDPostAuxKey( NX_KEYTYPE_PREVIOUS );
        break;
    case Qt::Key_MediaTogglePlayPause:
        HIDPostAuxKey( NX_KEYTYPE_PLAY );
        break;
    case Qt::Key_MediaNext:
        HIDPostAuxKey( NX_KEYTYPE_NEXT );
        break;
    default:
        return;
        break;
    }
#endif

Cодержимое файла mac.mm:

#import <Cocoa/Cocoa.h>
#import <IOKit/hidsystem/IOHIDLib.h>
#import <IOKit/hidsystem/ev_keymap.h>
#include "macx.h"

static io_connect_t get_event_driver(void)
{
    static  mach_port_t sEventDrvrRef = 0;
    mach_port_t masterPort, service, iter;
    kern_return_t    kr;
    if (!sEventDrvrRef)
    {
        // Get master device port
        kr = IOMasterPort( bootstrap_port, &masterPort );
        check( KERN_SUCCESS == kr);

        kr = IOServiceGetMatchingServices( masterPort, IOServiceMatching( kIOHIDSystemClass ), &iter );
        check( KERN_SUCCESS == kr);

        service = IOIteratorNext( iter );
        check( service );

        kr = IOServiceOpen( service, mach_task_self(),
                            kIOHIDParamConnectType, &sEventDrvrRef );
        check( KERN_SUCCESS == kr );

        IOObjectRelease( service );
        IOObjectRelease( iter );
    }
    return sEventDrvrRef;
}

void HIDPostAuxKey(const UInt8 auxKeyCode )
{
  NXEventData   event;
  kern_return_t kr;
  IOGPoint      loc = { 0, 0 };

  // Сообщение о нажатии клавиши
  UInt32      evtInfo = auxKeyCode << 16 | NX_KEYDOWN << 8;
  bzero(&event, sizeof(NXEventData));
  event.compound.subType = NX_SUBTYPE_AUX_CONTROL_BUTTONS;
  event.compound.misc.L[0] = evtInfo;
  kr = IOHIDPostEvent( get_event_driver(), NX_SYSDEFINED, loc, &event, kNXEventDataVersion, 0, FALSE );
  check( KERN_SUCCESS == kr );

  // Сообщение о отжатии клавиши
  evtInfo = auxKeyCode << 16 | NX_KEYUP << 8;
  bzero(&event, sizeof(NXEventData));
  event.compound.subType = NX_SUBTYPE_AUX_CONTROL_BUTTONS;
  event.compound.misc.L[0] = evtInfo;
  kr = IOHIDPostEvent( get_event_driver(), NX_SYSDEFINED, loc, &event, kNXEventDataVersion, 0, FALSE );
  check( KERN_SUCCESS == kr );
}

Заключение:

Для меня было немного странно, что до сих пор не существует открыто доступной кроссплатформенной библиотеки, позволяющей выполнять отправку сообщений (в том числе события клавиатуры, мыши и д.р.). Во всяком случае мне такую библиотеку так и не получилось найти. Представленный код далек от совершенства (представляю, как разрастется switch-case последовательность при добавлении новых клавиш). Но тем не менее пусть это будет небольшой вклад в общую копилку базы знаний о написании кросплатформенных приложений.
В ходе работы над статьей было замечено, что VirtualBox перехватывает нажатия мультимедийных клавиш (проверялось на Ubuntu — c «железа» все работало). Данного недостатка лишена WMWare (проверялось на Mac OS X).

Приложение: Перечень мультимедийных клавиш и их определений (с помощью #define).

Qt::Key Windows Linux Mac OS X
Qt::Key_VolumeDown VK_VOLUME_DOWN XF86AudioLowerVolume NX_KEYTYPE_SOUND_DOWN
Qt::Key_VolumeMute VK_VOLUME_MUTE XF86AudioMute NX_KEYTYPE_MUTE
Qt::Key_VolumeUp VK_VOLUME_UP XF86AudioRaiseVolume NX_KEYTYPE_SOUND_UP
Qt::Key_BassBoost
Qt::Key_BassUp
Qt::Key_BassDown
Qt::Key_TrebleUp
Qt::Key_TrebleDown
Qt::Key_MediaPlay VK_MEDIA_PLAY_PAUSE XF86AudioPlay NX_KEYTYPE_PLAY
Qt::Key_MediaStop VK_MEDIA_STOP XF86AudioStop
Qt::Key_MediaPrevious VK_MEDIA_PREV_TRACK XF86AudioPrev NX_KEYTYPE_PREVIOUS
Qt::Key_MediaNext VK_MEDIA_NEXT_TRACK XF86AudioNext NX_KEYTYPE_NEXT
Qt::Key_MediaRecord
Qt::Key_MediaPause XF86AudioPause
Qt::Key_MediaTogglePlayPause VK_MEDIA_PLAY_PAUSE XF86AudioPlay NX_KEYTYPE_PLAY

Ссылки по теме:
1. Существующие подходы к решению проблемы: C++ (Qt) cross-platform library for simulating keyboard input, sendkeys, send kestrokes, etc
2. Описание функции SendInput и перечень кодов клавиатуры на сайте MSDN.
3. Simulating Mediakey Presses in C & X11 — в статье описывается, как в Linux с помощью утилиты «xev» (в Ubuntu: «sudo apt-get install x11-utils») можно узнать коды клавиш, а также в дополнение статья с archlinux.org.
4. Эмуляция мультимедийных клавиш в MacOS X на языке программирования Python.

Продолжаем рассказывать про автоматизацию рутины на компьютере. Вот что было в предыдущих частях:

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

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

В зависимости от возможностей такие программы делятся на автокликеры, программы поиска изображений и скриптовые автоматизаторы.

Автокликеры подойдут, если для выполнения нужных действий достаточно мышки. Работают так: включаете запись и выполняете мышкой всё, что нужно сделать. Программа запоминает координаты кликов и интервалы между ними, а потом имитирует их, как будто это делаете вы. Это самый простой и надёжный вариант, но у него есть большой минус: если поменяется интерфейс или размер окна, то программа об этом не узнает — она будет кликать по старым координатам и может что-то испортить.

Программы с поиском изображений работают иначе: вы делаете скриншот нужной области, вставляете его в программу и на внутреннем языке объясняете, что с этим делать. Например, можно нажать на найденную картинку (если это иконка сохранения), перетащить её в другое место, ввести туда текст и ещё много разного. Это более универсальное решение, чем автокликеры, но надо немного разбираться в программировании.

Автоматизаторы на скриптах. Это самый замороченный, но самый большой по возможностям способ что-то автоматизировать. Automator из macOS — это именно оно. Можно сделать что угодно в пределах того, что умеют приложения через свои API: как угодно стыковать разные приложения, передавать данные из одного в другое, работать с файловой системой и делать много других вещей. Но придётся прямо писать скрипт.

Action(s)

app.jbbres.com/actions/

Платформа: Windows, macOS.

Эту программу сделали 10 лет назад, и для macOS она уже сильно устарела, но в Windows всё отлично работает. Интерфейс создания скриптов может показаться сложным для новичков. Но если вам нужен полный контроль — она поможет.

Если нужна современная версия для macOS, посмотрите на встроенное приложение Automator. Из коробки он умеет не так много, но есть сторонние расширения. 

5 программ для автоматизации чего угодно на компьютере

AutoIT

autoitscript.com/site/autoit/

Платформа: Windows.

Если вам понравились возможности предыдущей программы, но вы хотите всё контролировать сами и писать свои скрипты, попробуйте AutoIT. В ней используется свой язык, похожий на Бейсик, но с глубоким погружением в системные команды операционной системы. При желании на ней можно запрограммировать даже имитацию работы за компьютером в течение дня — всё будет выглядеть так, как будто человек сидит перед монитором и что-то делает.

Код скрипта в AutoIT

Вам может быть интересно:

Sikuli

sikulix.com

Гитхаб оригинального проекта

Платформа: любая, где можно запустить виртуальную машину Java.

Эта система понимает скрипты на Python, Ruby и JavaScript и поддерживает все языки программирования, связанные с Java (Jython, JRuby, Scala, Clojure и остальные).

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

Например, её можно научить играть в «Весёлого фермера», чтобы она сама находила на экране морковку, собирала её, отправляла кур спать и поливала грядки.

Простой скрипт с картинками, который меняет настройки сетевого адаптера в Windows. Скриншот: 3dnews.ru

AutoClickExtreme

autoclickextreme.com/ru/

Платформа: Windows.

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

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

5 программ для автоматизации чего угодно на компьютере

Macro Scheduler

www.mjtnet.com/macro-scheduler.htm

Платформа: Windows.

Самая дорогая программа в подборке, но оно того стоит:

  • запись действий мыши и клавиатуры;
  • прямая работа с базами данных, сетевыми протоколами и парсерами данных;
  • распознавание текста на экране;
  • запись макросов для браузеров;
  • работа с любыми элементами ОС напрямую и через скриншоты;
  • свой скриптовый язык;
  • 300 готовых шаблонов автоматизации.
5 программ для автоматизации чего угодно на компьютере

Вёрстка:

Кирилл Климентьев

header

Important: If you are sharing this program. Please Include the official Download Link
Official Download Link: Download

Stargazers repo roster for @zSynctic/AutoClicker

What is this AutoClicker?

AutoClicker is a modern open source program that can automatically click and hold mouse buttons or press keyboard keys so fast.

Why use this AutoClicker?

Bored of the old-looking AutoClickers here is a powerful easy-to-use AutoClicker with many features and a Modern GUI!

This is a simple easy-to-use user-friendly fully-fledged AutoClicker that can automatically click the mouse and keyboard so fast and hold the mouse button down and has many other features!

More updates are on the way!

Installation

Don’t forget to give a ⭐!

How to use?

First choose the button you want to be clicking from the menu or you can even type one that isn’t in the menu like keyboard keys for example: W, choose your clicking type then press F5 or press the start button to start the autoclicking then stop it by pressing F5 again or by pressing the button, for the clicktype Hold you can start it by pressing F6 and stop it using F6 again.

Examples

Features

  • Ultra Fast autoclicking
  • Free and Open Source
  • Fully-Fledged AutoClicker
  • Choose between which mouse button or keyboard button to click as
  • Hold the mouse button down
  • No advertisements
  • Convenient — Hotkey work while application is in background
  • Simple Clean Small and modern interface
  • Choose between single clicking, double clicking and triple clicking
  • 0% CPU Usage
  • Low Ram Usage
  • Set the click interval
  • Set how many times you want to repeat
  • Virus Free

Warning: When running AutoClicker.exe a Blue Window Might Popup.
To Run The Application You Have To Press More Info And Then Run Anyways.

© zSynctic

Buy Me A Coffee

JoyToKey
для Windows

JoyToKey — небольшая бесплатная утилита, позволяющая эмулировать функции клавиатуры и мыши для управления обычными программами (например офисные приложения Word, Excel и т.п., браузерные игры и т.д.) с помощью джойстика или геймпада. Присутствует возможность запрограммировать до 32 кнопок для джойстика, создавать разные профили и быстро переключаться между ними. Кроме этого имеется поддержка создания эмуляции нажатия клавиш мыши, а также функция автонажатия кнопок.

Ключевые особенности:

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

ТОП-сегодня раздела «Эмуляторы»

DS4Windows 3.3.3

Эмулятор контроллера Xbox 360 для использования геймпада Sony DualShock 4 во многих компьютерных…

Android SDK 35.0.0

Android SDK — универсальная оболочка для моделирования и разработки различных программных продуктов под операционную систему Android…

Отзывы о программе JoyToKey

Алекс про JoyToKey 6.4.2 [19-04-2020]

С месяц назад перестала работать ассоциативное переключение профиля. Если не считать этого казуса, то программа отличная.
15 | 23 | Ответить

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как сбросить настройки блютуз на windows 10
  • Стандартная картинка пользователя windows 10
  • Создание резервной копии windows 10 в облаке
  • Win xp windows 7 style
  • Wine set windows version