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" />
paket add NonInvasiveKeyboardHookLibrary --version 1.5.0
#r "nuget: NonInvasiveKeyboardHookLibrary, 1.5.0"
// Install NonInvasiveKeyboardHookLibrary as a Cake Addin
#addin nuget:?package=NonInvasiveKeyboardHookLibrary&version=1.5.0
// Install NonInvasiveKeyboardHookLibrary as a Cake Tool
#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 |
---|---|
.NET Framework | net452 net46 net461 net462 net463 net47 net471 net472 net48 net481 |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on NonInvasiveKeyboardHookLibrary:
Repository | Stars |
---|---|
Invvard/EZLayoutDisplay
Learn your custom layout quickly and easily by displaying your ErgoDox layout right from your desktop !
|
The Start() and Stop() methods can now be called multiple times without consequences.