Имитатор нажатий кнопки мыши

Бесплатные программы имитации мыши и клавиатуры, их движение и клики

Всем привет, с Вами автор блога matrixblog.ru. Материал сегодняшней статьи затронет вопросы автоматизации действий на компьютере. Буду рассмотрены некоторые программы, но, основной упор будет сделан на суть самой темы.

Для начала, нужно понимать, что люди, которые интересуются программами для автоматизации различных действий на компьютере, имитации движений мыши и нажатия клавиш клавиатуры, не совсем понимают, чего хотят. Со стороны, всё кажется просто – мне нужна программа, которая будет воспроизводить мои действия с мышкою и клавиатурой, имитируя их. Хорошо, давайте попробуем разобрать суть ситуации…

Макросы – если вы ищите программы для автоматизации и имитации действия на компьютере, то, должны знать, что есть такое понятие как макрос. Лучше всего рассмотреть пример пакета Microsoft Office. Их программы (Word, Excel…) содержат встроенный редактор языка Visual Basic.

Basic, Visual Basic, vbscript, неважно, главное, что это язык программирования, имеющий отношение к компании Майкрософт. Собственно, похожий, или аналогичный синтаксис языка может использоваться и в других языках программирования от дядюшки Билла.

В отличие от отдельных пакетов, редактор Visual Basic в Майкрософт Оффис нацелен на выполнение программного кода в офисной среде, например, в Word или Excel. Подобные инструменты есть и в бесплатных аналогах Microsoft Office.

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

  • Применить стиль к каждому второму абзацу.
  • Преобразовать все таблицы в текст и применить заданное форматирование.
  • Автоматически разделить содержимое и сохранить в отдельные документы.

Сами макросы в других программах, позволяют:

  • имитация нажатия кнопки мыши.
  • имитация нажатия клавиш клавиатуры.
  • имитация кликов мыши.
  • имитация клавиатуры.
  • имитация движения мыши.

Примеров различных макросов для Word и Excel большое количество. Однако, основной их плюс в том, что их можно создать без необходимости писать код, можно просто нажать кнопку PLAY и начнется запись ваших действий (выделение текста, применение стиля). Завершив запись (нажав STOP), автоматически появится новый макрос с программным кодом.

Далее можно запустить сохраненный макрос, который будет работать на автоматизацию действий. Понятно, что косвенно, макросы тоже можно считать своеобразными программами для автоматизации пользовательских действий в редакторе Word или табличном процессоре Excel на компьютере.

Формально, макросы в Оффис тоже создают имитацию мыши и клавиатуры, только в пределах редактора.

Нужно понимать, что такое понятие, как Макрос, использует и в других сферах программирования и языках.

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

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

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

Понятно, что пользователей много, и задач тоже много. Кому-то надо автоматизировать процесс сортировки и переименования файлов или каталогов. Кто-то хочет сразу применить одно оформление к сотне Word документам. В последнем случае, для txt документов, можно использовать редактор Notepad++.

Хорошо, рассмотрим несколько простых программа по теме статьи.

Программа Macro Dollar для имитации клавиатуры, мыши, движений и кликов

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

Запустив Macro Dollar, мы увидим небольшое окно, кнопки для начала записи, остановки, и воспроизведения. Тут же есть несколько пунктов для отметки галочками:

  • Topmost – окно программы всегда будет на переднем плане.
  • Loop – если отметить эту опцию, то процесс воспроизведения имитации мыши и клавиатуры будет происходить бесконечно.
  • Shake – функция “встряхивания”, когда курсор мыши трясет во время воспроизведения записи.
  • Play or record iconized – происходит минимизация окна программы во время записи.

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

Macro Dollar является портативной программой.

WinMacro – ещё одна простая программа имитации движений мыши и кнопок клавиатуры

WinMacro является столь же старой программой, как и Macro Dollar и до сих пор прекрасно работает.

Только 3 шага требуются для записи; указать файл, в который будет производиться запись, нажать на кнопку записи и нажать горячую клавишу для Pause / Break, чтобы остановить запись. Всякий раз, когда вы хотите, воспроизвести запись, просто укажите путь к сохраненному .

log файлу и нажмите кнопку воспроизведения. Воспроизведение может быть отменено с помощью горячих клавиш Ctrl + Esc. Кнопка Options позволяет задать количество повторов и скорость воспроизведения.

GhostMouse – призрачная имитация мыши и нажатий кнопок

GhostMouse – это очень простая программа для имитации действий пользователя, которая имеет в главном окне всего 2 кнопки (Play & Record). Она больше подходит для быстрого и кратковременного использования, но, конечно, и для автоматизации повторяющихся задач.

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

Do It Again – создаём список макросов

Do It Again не сильно отличается от других 3-х инструментов, перечисленных выше, но одно преимущество у неё есть – список макро-записей, отображаемых в программе, что делает её удобным для пользователей, которым необходимо запускать различные задачи без ручной загрузки сценария в программу.

Программа Action(s) – полноценная автоматизация действий на компьютере

Action(s) является визуальным клоном Automator, который, однако, в списке доступных взаимодействий предлагает несколько меньшее количество вариантов.

Свою версию предлагают как для Windows, так и, как не парадоксально, для OS X. Можно установить автоматизацию действий на вашем компьютере с электронной почтой, файлами и папками, изображениями, браузером и простым текстом.

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

И если нужное действие (макрос) отсутствует в библиотеке, а вы хотите его создать, то, скорее всего, нужное решение можно будет найти на пользовательском форуме, посвящённом программе Action(s).

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

Заключение

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

Начиная статью, я забыл сказать, что автоматизация действий на компьютере пользователя доступна не только в редакторе Word, Excel, но и в графическом редакторе Photoshop. Да, там есть такая функция, которая является, в некотором роде, аналогом макроса.

Так, можно записать действия, которые применяются при обработке рисунка, сохранить их в самом же PSD файле, и потом спокойно воспроизводить для других графических данных. Полагаю, подобными возможности есть и в Corel Draw и в других подобных программах.

Источник: http://matrixblog.ru/2015/07/03/programmy-dlya-avtomatizacii-dejstvij-polzovatelya/

Key Manager — выполнение макросов нажатий клавиш, эмуляция кликов мыши по горячим клавишам

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

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

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

Key Manager — открывает новые возможности клавиатуры и мыши, позволяя значительно сэкономить время и силы при работе за компьютером.

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

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

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

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

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

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

Скачать   История версий   Вопросы и ответы   Купить

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

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

Переназначение комбинаций клавишПример замены комбинаций 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 Копировать весь профиль как папку

Источник: https://atnsoft.ru/keymanager/

Практическое руководство. Имитация событий мыши и клавиатуры в коде

  • 03/30/2017
  • Время чтения: 12 мин
  • Соавторы

В Windows Forms предоставляется несколько возможностей для программной имитации ввода данных с помощью мыши и клавиатуры.Windows Forms provides several options for programmatically simulating mouse and keyboard input. В этом разделе приведен обзор этих возможностей.This topic provides an overview of these options.

Имитация ввода с помощью мышиSimulating Mouse Input

Наилучшим способом имитации событий мыши является вызов метода OnEventName , в результате чего происходит событие мыши, которое требуется имитировать.

The best way to simulate mouse events is to call the OnEventName method that raises the mouse event you want to simulate.

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

This option is usually possible only within custom controls and forms, because the methods that raise events are protected and cannot be accessed outside the control or form. Например, ниже показано, как имитировать нажатие правой кнопки мыши в коде.For example, the following steps illustrate how to simulate clicking the right mouse button in code.

Чтобы нажать правую кнопку мыши программными средствами, выполните указанные ниже действия.To programmatically click the right mouse button

Дополнительные сведения о пользовательских элементах управления см. в разделе Создание элементов управления Windows Forms во время разработки.For more information on custom controls, see Developing Windows Forms Controls at Design Time.

Существуют другие способы имитировать ввод с помощью мыши.There are other ways to simulate mouse input.

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

For example, you can programmatically set a control property that represents a state that is typically set through mouse input (such as the Checked property of the CheckBox control), or you can directly call the delegate that is attached to the event you want to simulate.

Имитация ввода с клавиатурыSimulating Keyboard Input

Хотя ввод данных с клавиатуры можно имитировать с помощью подходов, описанных выше для ввода с помощью мыши, Windows Forms также предоставляет класс SendKeys для отправки нажатий клавиш в активное приложение.Although you can simulate keyboard input by using the strategies discussed above for mouse input, Windows Forms also provides the SendKeys class for sending keystrokes to the active application.

Внимание!

Если приложение предназначено для международного использования с различными клавиатурами, применение метода SendKeys.Send может иметь непредсказуемые результаты и его следует избегать.If your application is intended for international use with a variety of keyboards, the use of SendKeys.Send could yield unpredictable results and should be avoided.

Примечание

Класс SendKeys был обновлен в .NET Framework 3.0, что позволило использовать его в приложениях, работающих в Windows Vista.The SendKeys class has been updated for the .NET Framework 3.0 to enable its use in applications that run on Windows Vista.

Усиленная система безопасности Windows Vista (известная как контроль учетных записей или UAC) не позволяет предыдущей реализации работать должным образом.

The enhanced security of Windows Vista (known as User Account Control or UAC) prevents the previous implementation from working as expected.

Класс SendKeys подвержен проблемам со временем, которые пришлось решать некоторым разработчикам.The SendKeys class is susceptible to timing issues, which some developers have had to work around.

Обновленная реализация по-прежнему подвержена этим проблемам, но она работает немного быстрее, поэтому существующие решения может потребоваться переработать.The updated implementation is still susceptible to timing issues, but is slightly faster and may require changes to the workarounds.

Класс SendKeys сначала пытается использовать предыдущую реализацию, и если это не удается, использует новую реализацию.The SendKeys class tries to use the previous implementation first, and if that fails, uses the new implementation.

В результате класс SendKeys может работать по-разному в разных операционных системах.As a result, the SendKeys class may behave differently on different operating systems.

Кроме того, при использовании новой реализации класса SendKeys метод SendWait не будет дожидаться обработки сообщений, если они отправляются другому процессу.Additionally, when the SendKeys class uses the new implementation, the SendWait method will not wait for messages to be processed when they are sent to another process.

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

config.If your application relies on consistent behavior regardless of the operating system, you can force the SendKeys class to use the new implementation by adding the following application setting to your app.

config file.

Для принудительного использования классом SendKeys предыдущей реализации задайте значение “JournalHook” .To force the SendKeys class to use the previous implementation, use the value “JournalHook” instead.

Отправка нажатия клавиши в то же приложениеTo send a keystroke to the same application

  1. Вызовите метод Send или SendWait класса SendKeys .Call the Send or SendWait method of the SendKeys class. Указанные нажатия клавиш будут получены активным элементом управления приложения.The specified keystrokes will be received by the active control of the application.

    В примере кода ниже метод Send используется для имитации нажатия клавиши ВВОД, когда пользователь дважды щелкает по поверхности формы.The following code example uses Send to simulate pressing the ENTER key when the user double-clicks the surface of the form.

    В этом примере используется форма Form с одним элементом управления Button , имеющим индекс перехода по клавише TAB, равный 0.This example assumes a Form with a single Button control that has a tab index of 0.

    // Send a key to the button when the user double-clicks anywhere // on the form.
    private: void Form1_DoubleClick(Object^ sender, EventArgs^ e) { // Send the enter key to the button, which triggers the click // event for the button. This works because the tab stop of // the button is 0. SendKeys::Send(“{ENTER}”); }
    // Send a key to the button when the user double-clicks anywhere // on the form.
    private void Form1_DoubleClick(object sender, EventArgs e)
    { // Send the enter key to the button, which raises the click // event for the button. This works because the tab stop of // the button is 0. SendKeys.Send(“{ENTER}”);
    }
    ' Send a key to the button when the user double-clicks anywhere ' on the form.
    Private Sub Form1_DoubleClick(ByVal sender As Object, _ ByVal e As EventArgs) Handles Me.DoubleClick ' Send the enter key to the button, which raises the click ' event for the button. This works because the tab stop of ' the button is 0. SendKeys.Send(“{ENTER}”)
    End Sub

Отправка нажатия клавиши в другое приложениеTo send a keystroke to a different application

  1. Активируйте окно приложения, которое будет получать нажатия клавиш, а затем вызовите метод Send или SendWait .Activate the application window that will receive the keystrokes, and then call the Send or SendWait method.

    Из-за отсутствия управляемого метода активации другого приложения необходимо использовать собственные методы Windows для принудительной установки фокуса на другие приложения.Because there is no managed method to activate another application, you must use native Windows methods to force focus on other applications.

    В примере кода ниже с помощью вызова неуправляемого кода вызываются методы FindWindow и SetForegroundWindow для активации окна приложения “Калькулятор”, а затем вызывается метод SendWait для проведения ряда вычислений в этом приложении.

    The following code example uses platform invoke to call the FindWindow and SetForegroundWindow methods to activate the Calculator application window, and then calls SendWait to issue a series of calculations to the Calculator application.

    Примечание

Источник: https://docs.microsoft.com/ru-ru/dotnet/framework/winforms/how-to-simulate-mouse-and-keyboard-events-in-code

Мышкокликер by SF

Мышкокликер – простенькая программа-кликер с помощью которой можно эмитировать нажатия левой кнопки мыши и до двух клавиш клавиатуры через определенные промежутки времени. Целью программы является облегчение некоторых повторяющихся с определенной периодичностью действий.

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

Скачать Мышкокликер by SF (Прямая ссылка, RAR архив)
Видео инструкция о том, как пользоваться программой.

В версиях Windows начиная с Vista в момент старта и остановки таймера программы будет воспроизведен звуковой сигнал (ХР и ниже эту функцию на поддерживают).

Пара слов:

  • На большинстве клавиш формы есть всплывающие подсказки, наводите курсор мыши на непонятные вам поля.
  • Кликнув на поле с двумя окошками в верхнем правом углу программы можно установить режим “Поверх всех окон”. (Золотое – активен)
  • Кликнув на поле с замочком в верхнем правом углу программы можно отключить горячие клавиши. (Золотое – активен)
  • Можно указать модификатор для горячих клавиш: Fn + Shift, Ctrl, Alt.
  • Все изменения для разных наборов автоматически сохраняются при закрытии программы и загружаются при ее старте.

Горячие клавиши:

  • F9 – Переключение “Зеленого поля” на следующее для выбора координат.
  • F10 – Сохранить координат клика для выбранного зеленым цветом поля.
  • F11 – Запуск таймеров.
  • F12 – Остановка таймеров.

Инструкция по таймеру ЛКМ:

При первом запуске программы нажимаем кнопку “Add”, в появившееся поле вводим название набора и подтверждаем (Любое ваше название).

В выпадающее меню добавится ваше название набора и сделается активным. Так же станет активной область “Таймер ЛКМ”.

В поле с цифрой “60”, “Время цикла”, вводим желаемое время цикла, т.е. время, через которое выставленные вами клики (описано далее) буду повторяться.

Ниже находится кнопка “+/-” кликнув на которую левой кнопкой мыши добавится еще одно поле (максимум 99 полей), кликнув правой кнопкой мыши поле удалится (минимум 3 поля).

Кликнув на серое поле с порядковым номером ячейки это поле и поле с вводом секунды клика станет зеленым. При “Зеленом поле” наведите курсор на нужное место экрана и нажмите клавишу “F10” при этом поле в окне кликера изменит цвет на золотой, а координаты курсора для данного поля сохранятся в памяти программы.

Следующее за ним темное поле с цифрой “1” – переключатель количества (мгновенных) кликов для данного поля. Кликнув левой клавишей мыши цифра изменится в большую сторону (максимум до 6 кликов), правой – в меньшую, но не меньше 1.

Белое поле с возможностью ввода числа – поле в которое необходимо ввести секунду, на которой это поле сработает при запуске таймера. Если значение поля – “0”, то никаких действий для этого поля программа при запуске таймера производить не будет.

Запускаем таймер нажатием клавиши “F11” и программа начнет процедуру кликов в выбранных вами координатах на выбранных секундах с заданным интервалом времени.

Дополнительно по таймеру ЛКМ:

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

Если секунды кликов указаны для нескольких полей, а координаты кликов выбраны не для всех этих полей, то в следующие после клика “золотого” поля секунды клика, клик будет производиться в координаты выбранные для предыдущего “золотого” поля. (Ну как-то так. =D)

При клике на значок “Зеленый кружочек” появится напоминалка выбранных координат клика (если они выбраны), выбранные места на экране будут отмечены кружочками. Скрыть подсказку можно так же кликнув на эту иконку.

Инструкция по таймеру клавиш:

Над данной функцией программы я пока особо не работал. Кликните на поле “Развернуть панель клавиш” появится окно с параметрами. Отмечаем галочкой таймер клика клавиши (Их всего 2). Выбираем нужную клавишу в выпадающем списке. Указываем интервал и секунды, на которых будет производится нажатия (их всего 3). Запускаем таймеры нажатием на клавишу “F11”.

Требования к системе:

Для запуска программы необходим .NET Framework v4.0 или новее.

История изменений в программе:

  • 06.03.2011. Первая версия программы.

Источник: http://sinfx.ru/statja/myshkokliker-by-sf/

X-Mouse Button Control – для назначения функций кнопкам мыши

Основные возможности

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

Плюсы и минусы

Плюсы:

  • точные настройки на многокнопочных мышках;
  • поддержка всех современных версий ОС;
  • удобный интерфейс;
  • большой рабочий диапазон.

Минусы:

  • отсутствие системы справочных подсказок.

Аналоги

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

Auto-Clicker. Программа для запоминания и воспроизведения действий мышки. Может эмулировать нажатие кнопок, ввод текста с клавиатуры, выполнять одновременный клик на разных областях экрана.

Mouse Recorder Pro. Программа для автоматизации рутинных операций. Она записывает действия, которые пользователь неоднократно выполняет на ПК, а затем воспроизводит их. Записанный макрос позволяет выполнять сохраненные действия автоматически.

Принципы работы

Для того чтобы изменить язык интерфейса, нажмите в программе пункт «Setup» и отметьте в окне настроек русский язык. Чтобы применить установку, нажмите кнопку «Apply».

Смена языка

Окно настроек делится на две секции: список профилей и вкладки для управления эмуляцией действий клавиш мыши. В левой части расположен профиль «Default», для него можно настроить до пяти слоев эмуляции.

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

Выбор кнопки

Если в нем отсутствует нужное вам действие, задайте эмуляцию вручную с помощью пункта «Симулированные клавиши (неопределенно)».

Комбинация клавиш

X-Mouse Button Control позволит вам избавиться от необходимости выполнения часто повторяющихся операций на вашем ПК.

Источник: https://SoftikBox.com/x-mouse-button-control-4358.html

Awesomium имитация нажатия на клавишу мыши

Вопрос: Имитация нажатия клавиш

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

Сам таймер запускается и останавливается по нажатию кнопки на форме. Как сделать так, чтобы бот работал и в этой игре(мб мешает защита игры, но тогда вопрос можно ли её обойти??)? вот код если будет нужен …

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
procedure TForm1.Button1Click(Sender: TObject);
begin
if f=0 then
begin
Button1.Caption:='Стоп';
Timer1.Enabled:=true;
f:=1;
end
  else
  begin
Button1.Caption:='Старт';
Timer1.

Enabled:=False;
f:=0;
  end;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
keybd_event(Ord('R'), 0, 0, 0);
keybd_event(Ord('R'), 0, KEYEVENTF_KEYUP, 0);
  X := (Mouse.CursorPos.X);
  Y := (Mouse.CursorPos.y);
  SetCursorPos(X,Y);
  Application.

ProcessMessages;
  mouse_event(MOUSEEVENTF_LEFTDOWN,X,Y,0,0);
  mouse_event(MOUSEEVENTF_LEFTUP,X,Y,0,0);
Timer1.Interval:=1000;
Timer1.Enabled:=true;
end;

Ответ: droider,

Сообщение от droider

что ж вас всех так тянет в одном направлении ??)))

если есть способ упростить себе жизнь, почему бы им не воспользоватся?

Вопрос: Имитация нажатия клавиши на клавиатуре

Добрый день! Передо мной встал вот такой вопрос, который решить у меня не получается. Прошу помощи у знающих пользователей. Собственно такая проблема. В моей программе есть кнопка, допустим button1.

Суть заключается в том, что мне нужно сделать так, чтобы программа понимала под нажатием на кнопку button1 мышкой, нажатие на клавиатуре любой кнопки, допустим W. Т.е. нажимаем button1, программа делает имитацию нажатия W.

Передавать эту W мне ни в какие другие программы не нужно.

Заранее благодарен!

Ответ:Ты же сам вызываешь событие “нажатия клавиши” , поэтому она приближается постоянно. Прикинь: одно нажатие на button – сколько onkeydown должно быть и поставь счетчик. Счетчик накоплен, приближение остановлено. Все ждет нового нажатия на button.

Вопрос: Имитация нажатия клавиши

Здравствуйте! Нужно сделать имитацию нажатия клавиши Enter в сторонней программе Word, в свернутом состоянии.

Delphi
1
2
3
4
5
6
h := findwindow(nil,'1 – Word');
if h0 then begin
PostMessage(h,WM_KEYDOWN,VK_RETURN,0);
Sleep(100);
PostMessage(h,WM_KEYUP, VK_RETURN,0);
end;

Файл находит, но нажатие клавиши так и не происходит.

Ответ:Вероятно нужно отправлять дочернему окну, а не главному. Проверить не могу, нету ворда. Посмотрите список дочерних окон в Spy++.

Вопрос: Как сделать имитацию нажатия клавиши в игре?

Не могу сделать имитацию нажатия клавиши в играх. Через keybd_event получается только для ввода текста в строки, но не для движения(например) в игре. HELP! Рыскал по форумам – не нашел адекватного решения…

Ответ:Up!

Вопрос: Имитация нажатия клавиш с неактивным окном

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

C++
1
2
3
4
5
6
void PressButton(HWND hwnd, BYTE vk)  {
 
    SendMessage(hwnd, vk, WM_KEYDOWN, 0);
    PostMessage(hwnd, WM_CHAR, vk, 0);
    SendMessage(hwnd, vk, WM_KEYUP, 0);
}

Ответ:

Сообщение от Sashkos

имитировать нажатия клавиш с неактивным окном

Главное окно блокнота и дочернее (edit control). Sashkos, см. в Spy++, какое окно получает wm_keydown, когда пользователь вводит текст.

Вопрос: Как отследить нажатие клавиши мыши?

Меня интересует, как можно в Delphi отследить нажатие клавиши мыши. Левой, правой, неважно, главное, как сделать так, чтобы пользователь где-то щелкнул мышкой и программа это заметила и исполнила какой-либо код.

Ответ:

Вопрос: Awesomium имитация нажатия на клавишу мыши

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

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

Есть ли какой нибудь способ сделать имитацию нажатия на объект? Знаю, есть методы InjectMouse, но опять же как получить местонахождения элемента, чтобы навести курсор на него и сделать клик?

Кликните здесь для просмотра всего текста

C#
1
2
3
dynamic Phone = document.getElementById(“Phone”);
using (Phone)
Phone.value = textBox2.Text;

Ответ: Verzilinma, ну раз при клике что-то происходит, значит какой-то обработчик события таки должен быть. Что мешает вызывать так же этот самый change?

Сообщение от Verzilinma

Но есть один нюанс, в силу того, что эти методы имеют степень защиты protected, нужно создавать экземпляр контрола.

Тогда уж скорее “приводить к типу интерфейса” или что-то в этом духе.

Вопрос: Имитация нажатия клавиши D каждые 5 секунд

Народ нужно сделать прогу которая имитировала нажатие на клавишу “D” каждые 5 секунд, все нужно сделать на Java, это возможно и есть да, то как?

например если я открою блокнот то она начинала бы каждые 5 сек писать в блокнот d если открыть браузер то в сроку запроса писала бы d

Ответ: Welemir1, DevG-man, Разобрался все работает. Но теперь не могу понять вот это: “robot.keyPress(KeyEvent.VK_H);” отвечает за нажатие клавиши “h”, а как я могу сделать что бы нажималась клавиша “~”?все спасибо нашел в документацииА нет я нашел только для апострофа где есть буква “Э” “VK_QUOTE”, а мне надо что бы он имитировал нажате там где клавиша “Ё”
АХаххаха все срои я нашшел)) “VK_BACK_QUOTE”

Вопрос: Двойное и одинарное нажатие клавиш мыши.

Описать процедуры, выполняемые при двойном нажатии на левую кнопку мышки – выводится сообщение «Совершено двойное нажатие левой клавиши мышки», при одинарном нажатии – выводится сообщение «Осуществлен одинарное нажатие левой клавиши мышки», при нажатии правой клавиши мыши – выводится сообщение «Осуществлен одинарное нажатия правой клавиши мышки ».

Ответ:Ну и попробуйте вызвать двойной клик.
Замените ShowMessage на например Label.

Вопрос: Обработка нажатий клавиш мыши и кнопок клавиатуры

Здравствуйте, возникла проблема с кодом:

Кликните здесь для просмотра всего текста

Код C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            if(e.Button==MouseButtons.Right)
            {
                this.Height -= 10;
                this.Width -= 10;
                this.Location = new Point(this.Location.X + 5, this.Location.Y + 5);
            }
 
            if(e.Button==MouseButtons.Right && ModifierKeys == Keys.Shift)
            {
                this.Height += 10;
                this.Width += 10;
                this.Location = new Point(this.Location.X – 5, this.Location.Y – 5);
            }
        }

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

Как можно разграничить условия, чтобы все работало правильно?

Ответ:

Код C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            if(e.Button==MouseButtons.Right)
            {
 
                if(ModifierKeys == Keys.Shift)
                {
                    this.Height += 10;
                    this.Width += 10;
                    this.Location = new Point(this.Location.X – 5, this.Location.Y – 5);
                } else
                {
                    this.Height -= 10;
                    this.Width -= 10;
                    this.Location = new Point(this.Location.X + 5, this.Location.Y + 5);
                }
            }
        }

Источник: http://forundex.ru/yap/Awesomium-imitaciya-nazhatiya-na-klavishu-mishi-652983

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}