KeyMouseHook 1.0.6
This is an extension to the globalmousekeyhook and InputSimulator library which allows you to tap keyboard and mouse,to detect and record their activity event when an application is inactive and runs in background.The Windows Input Simulator provides a simple .NET(C#) interface to simulate Keyboard or Mouse input using the Win32 SendInput method.一款类似于按键精灵的模拟键盘和鼠标操作的c#扩展类库.
Install-Package KeyMouseHook -Version 1.0.6
dotnet add package KeyMouseHook --version 1.0.6
<PackageReference Include="KeyMouseHook" Version="1.0.6"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add KeyMouseHook --version 1.0.6
What it does?
This is an extension to globalmousekeyhook and InputSimulator library which allows you to tap keyboard and mouse, to detect and record their activity event when an application is inactive and runs in background.The Windows Input Simulator provides a simple .NET(C#) interface to simulate Keyboard or Mouse input using the Win32 SendInput method.
Prerequisites
- Windows: .Net Framework 4.0+
Installation and sources
nuget install KeyMouseHook
Usage
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);
(also have a look at the Demo app included with the source)
Screen Shots
Thanks
- globalmousekeyhook (MIT License)
- InputSimulator (MIT License)
Quick contributing guide
- Fork and clone locally
- Create a topic specific branch. Add some nice feature.
- Send a Pull Request!
License
The MIT license see: LICENSE
What it does?
This is an extension to globalmousekeyhook and InputSimulator library which allows you to tap keyboard and mouse, to detect and record their activity event when an application is inactive and runs in background.The Windows Input Simulator provides a simple .NET(C#) interface to simulate Keyboard or Mouse input using the Win32 SendInput method.
Prerequisites
- Windows: .Net Framework 4.0+
Installation and sources
nuget install KeyMouseHook
Usage
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);
(also have a look at the Demo app included with the source)
Screen Shots
Thanks
- globalmousekeyhook (MIT License)
- InputSimulator (MIT License)
Quick contributing guide
- Fork and clone locally
- Create a topic specific branch. Add some nice feature.
- Send a Pull Request!
License
The MIT license see: LICENSE
Dependencies
-
- MouseKeyHook (>= 5.6.0)
GitHub Usage
This package is not used by any popular GitHub repositories.