NonInvasiveKeyboardHookLibrary 1.5.0
See the version list below for details.
dotnet add package NonInvasiveKeyboardHookLibrary --version 1.5.0
NuGet\Install-Package NonInvasiveKeyboardHookLibrary -Version 1.5.0
<PackageReference Include="NonInvasiveKeyboardHookLibrary" Version="1.5.0" />
<PackageVersion Include="NonInvasiveKeyboardHookLibrary" Version="1.5.0" />
<PackageReference Include="NonInvasiveKeyboardHookLibrary" />
paket add NonInvasiveKeyboardHookLibrary --version 1.5.0
#r "nuget: NonInvasiveKeyboardHookLibrary, 1.5.0"
#:package NonInvasiveKeyboardHookLibrary@1.5.0
#addin nuget:?package=NonInvasiveKeyboardHookLibrary&version=1.5.0
#tool nuget:?package=NonInvasiveKeyboardHookLibrary&version=1.5.0
NonInvasiveKeyboardHook
A C# hotkey manager that uses a low level global hook, but allows registering for specific keys to reduce invasion of user privacy.
Get it on NuGet
https://www.nuget.org/packages/NonInvasiveKeyboardHookLibrary/
Example
var keyboardHookManager = new KeyboardHookManager();
keyboardHookManager.Start();
// Register virtual key code 0x60 = NumPad0
keyboardHookManager.RegisterHotkey(0x60, () =>
{
Debug.WriteLine("NumPad0 detected");
});
// Modifiers are supported too
keyboardHookManager.RegisterHotkey(NonInvasiveKeyboardHookLibrary.ModifierKeys.Control, 0x60, () =>
{
Debug.WriteLine("Ctrl+NumPad0 detected");
});
// Multiple modifiers can be specified using the bitwise OR operation
keyboardHookManager.RegisterHotkey(NonInvasiveKeyboardHookLibrary.ModifierKeys.Control | NonInvasiveKeyboardHookLibrary.ModifierKeys.Alt, 0x60, () =>
{
Debug.WriteLine("Ctrl+Alt+NumPad0 detected");
});
// Or as an array of modifiers
keyboardHookManager.RegisterHotkey(new[]{NonInvasiveKeyboardHookLibrary.ModifierKeys.Control, NonInvasiveKeyboardHookLibrary.ModifierKeys.Alt}, 0x60, () =>
{
Debug.WriteLine("Ctrl+Alt+NumPad0 detected");
});
For more code examples, look at the example project: https://github.com/kfirprods/ShortcutHotkeysExample
For a thorough explanation, look at the CodeProject article: https://www.codeproject.com/Articles/1273010/Global-Hotkeys-within-Desktop-Applications
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net452 is compatible. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
This package has 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.
The Start() and Stop() methods can now be called multiple times without consequences.