1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/loamen-KeyMouseHook

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Что это такое?

Это расширение библиотек globalmousekeyhook и InputSimulator, которое позволяет имитировать нажатия клавиш клавиатуры и движения мыши, а также регистрировать их активность, когда приложение неактивно и работает в фоновом режиме. Библиотека Windows Input Simulator предоставляет простой интерфейс .NET (C#) для имитации ввода с клавиатуры или мыши с использованием метода Win32 SendInput.

Что делает?

Позволяет имитировать нажатия клавиатуры и мыши, а также отслеживать их активность.

Предварительные требования:

  • Windows: .Net Framework 4.0+;
  • ветка master/dev: .Net Framework 4.0;
  • ветка framework4.8: .Net Framework 4.8.

Установка и источники:

nuget install KeyMouseHook

  • NuGet-пакет;
  • исходный код.

Использование:

private readonly KeyMouseFactory eventHookFactory = new KeyMouseFactory(HookType.GlobalEvents);
private readonly KeyboardWatcher keyboardWatcher;
private readonly MouseWatcher mouseWatcher;
private List<MouseKeyEvent> _mouseKeyEvents;

public FormMain()
{
   InitializeComponent();

   keyboardWatcher = eventHookFactory.GetKeyboardWatcher();
   keyboardWatcher.OnKeyboardInput += (s, e) =>
   {
    if (_mouseKeyEvents != null)
        _mouseKeyEvents.Add(e);
   };

   mouseWatcher = eventHookFactory.GetMouseWatcher();
   mouseWatcher.OnMouseInput += (s, e) =>
   {
    if (_mouseKeyEvents != null)
        _mouseKeyEvents.Add(e);
   };
}

private void StartWatch(IKeyboardMouseEvents events = null)
{
    _macroEvents = new List<MacroEvent>();
    keyboardWatcher.Start(events);
    mouseWatcher.Start(events);
}

private void StopWatch()
{
   keyboardWatcher.Stop();
   mouseWatcher.Stop();
}

private void Playback()
{
   var sim = new InputSimulator();
   sim.PlayBack(_macroEvents);
}
keyboardWatcher = eventHookFactory.GetKeyboardWatcher().Disable(MacroEventType.KeyDown | MacroEventType.KeyUp).Enable(MacroEventType.KeyPress);
mouseWatcher = eventHookFactory.GetMouseWatcher().Enable(MacroEventType.MouseDoubleClick | MacroEventType.MouseDragStarted).Disable(MacroEventType.MouseDragFinished | MacroEventType.MouseMove);
var sim = new InputSimulator().Enable(MacroEventType.MouseDoubleClick | MacroEventType.KeyPress).Disable(MacroEventType.MouseMove | MacroEventType.KeyDown | MacroEventType.KeyUp);

(также ознакомьтесь с демонстрационным приложением, включённым в исходный код).

Скриншоты:

Keyboard and Mouse Hooking and Simulator Library in c#(winform)

Благодарности:

  • globalmousekeyhook (MIT License);
  • InputSimulator (MIT License).

Краткое руководство по внесению вклада:

  1. Форкните и клонируйте локально.
  2. Создайте ветку, посвящённую определённой теме. Добавьте какую-нибудь приятную функцию.
  3. Отправьте запрос на вытягивание!

Лицензия: MIT. Лицензия см.: LICENSE

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Это библиотека расширений, которая имитирует нажатия клавиш клавиатуры и клики мыши на основе globalmousekeyhook и InputSimulator. Она позволяет отслеживать и записывать действия с клавиатурой и мышью, а также предоставляет возможность записывать и воспроизводить свои действия с клавиатурой и мышкой. С её помощью можно эмулировать ввод данных с ... Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/loamen-KeyMouseHook.git
git@api.gitlife.ru:oschina-mirror/loamen-KeyMouseHook.git
oschina-mirror
loamen-KeyMouseHook
loamen-KeyMouseHook
master