KeyboardHookLite 1.1.3
See the version list below for details.
dotnet add package KeyboardHookLite --version 1.1.3
NuGet\Install-Package KeyboardHookLite -Version 1.1.3
<PackageReference Include="KeyboardHookLite" Version="1.1.3" />
paket add KeyboardHookLite --version 1.1.3
#r "nuget: KeyboardHookLite, 1.1.3"
// Install KeyboardHookLite as a Cake Addin #addin nuget:?package=KeyboardHookLite&version=1.1.3 // Install KeyboardHookLite as a Cake Tool #tool nuget:?package=KeyboardHookLite&version=1.1.3
🎯 Features
- Lightweight low-level global keyboard hook with minimal dependencies.
- Designed to work with modern UI frameworks (WPF, MAUI, WinUI 3) out of the box - no fiddling with outdated namespaces and Key types.
- Uses PInvoke signatures in order to avoid reliance on CsWin32 source generator.
- Source code is commented and thoroughly explained to allow you to expand functionality.
- Proper garbage disposal of unmanaged code to prevent memory leaks.
- Usage guide below allows you to get up and running quickly.
⚡️ Usage Guide
Bring in the namespace
Console Application
WPF / WinUI 3 / Other
It is essentially the same as the code for the console application above. You can omit System.Windows.Threading.Dispatcher.Run();
as UI frameworks already have a message queue. You can initialize the keyboard hook wherever you choose, whether it be upon a click or when the screen is initialized. Please remember to dispose (kbh.Dispose();
) when you no longer require the hook.
KeyboardHookEventArgs features
KeyboardHookEventArgs
contains the property KeyPressType
and InputEvent
which is of type LowLevelKeyboardInputEvent
. See below for what that entails. If you would like to add further functionality, you can do so by adding properties to KeyboardHookEventArgs
.
License
MIT
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net8.0-windows was computed. |
-
net6.0-windows7.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.