Mini-Input is a .NET component to monitor, send and suppress keyboard and mouse input.
* Mini-Input enables you to monitor, suppress and send (Pro edition) keyboard and mouse input in one convenient .NET component.
* A single Mini-Input hook can monitor for all keyboard and mouse events on a global, application form, and/or control level. Or you can create individual hooks for different input types and levels.
* The same arguments are generated for every keyboard or mouse event across all levels. You can subscribe to a single event to catch all keyboard events, or subscribe to separate KeyDown, KeyPress and KeyUp events. The same is true for mouse events.
* Optionally reuse events to significantly reduce the number of heap allocations and garbage collections and hence improve performance when monitoring for many events.
* Includes a text control that monitors and displays keyboard hotkeys.
* Monitor for input in the same or different thread as your application.
* Suppress select keyboard and mouse events to intercept the events and provide your own response.
* Send keyboard and mouse input events synchronously or asynchronously to any open window.
* Send window commands (such as move, close, resize and minimize) to any open window.
* Get a list of all open windows and a hierarchy of child windows. Get properties for each window such as name, class and size.
* Mini-Input includes a fully-customizable macro language simple enough for many users to send input and commands to open windows. Includes keyboard and mouse input, window commands, delays and more. Extend the language to support your own custom commands.
* Determine if any key or mouse button is currently pressed down, including the CapsLock and NumLock keys.
* Customize the text shown for input events (such as "Ctrl+C") to your preferences or language.