NonInvasiveKeyboardHookLibrary.Core
2.1.0
dotnet add package NonInvasiveKeyboardHookLibrary.Core --version 2.1.0
NuGet\Install-Package NonInvasiveKeyboardHookLibrary.Core -Version 2.1.0
<PackageReference Include="NonInvasiveKeyboardHookLibrary.Core" Version="2.1.0" />
paket add NonInvasiveKeyboardHookLibrary.Core --version 2.1.0
#r "nuget: NonInvasiveKeyboardHookLibrary.Core, 2.1.0"
// Install NonInvasiveKeyboardHookLibrary.Core as a Cake Addin #addin nuget:?package=NonInvasiveKeyboardHookLibrary.Core&version=2.1.0 // Install NonInvasiveKeyboardHookLibrary.Core as a Cake Tool #tool nuget:?package=NonInvasiveKeyboardHookLibrary.Core&version=2.1.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");
});
Sample App
I created a GUI C# app to help test this library: https://github.com/kfirprods/ShortcutHotkeysExample If the examples above did not answer your questions, take a look at the source code of the sample app 😃
Read more about Global Hotkeys within Windows applications
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 | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
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.
Version | Downloads | Last updated |
---|---|---|
2.1.0 | 10,558 | 12/8/2020 |