nhotkey

Cómo crear atajos de teclado en C# con NHotkey

NHotkey es una biblioteca de código abierto para .NET que nos permite añadir de forma sencilla atajos de teclado personalizados en aplicaciones de Winforms o WPF.

Estos atajos de teclado son globales, es decir, funcionan incluso aunque tu aplicación no tenga el foco o esté minimizada. Añadir teclados globales es una funcionalidad interesante para nuestras App.

Por ejemplo, puede que nuestro programa se minimice a la bandeja, y queramos que al pulsar una combinación de teclado se muestre al usuario. O que cree una nueva nota, o realice una acción, lo que nosotros queramos.

Sin embargo, en general, definir un hook para que el atajo de teclado funcione a nivel global, fuera de nuestra aplicación… pues la verdad, es un poco infierno.

NHotkey es biblioteca que hace muy sencilla esta operación, y es muy útil para agregar estas “funcionalidades especiales” a tu aplicación sin tener que morir en el intento.

Cómo usar NHotkey

Podemos añadir la biblioteca a un proyecto de .NET fácilmente, a través del paquete Nuget correspondiente.

Install-Package NHotkey.Wpf

A continuación, definir un atajo de teclado es tan sencillo como,

HotkeyManager.Current.AddOrReplace("nombre_tu_comando", Keys.Control | Keys.Alt | Keys.Add, tu_funcion_callback);

El nombre_de_tu_comando puede ser el que tu quieras y, se entiende, que tendrías definida la función ‘tu_funcion_callback’, con el nombre y código que tu quieras.

private void tu_funcion_callback(object sender, HotkeyEventArgs e)
{
	// lo que tu quieras
}

Así de sencillo. Sin necesidad de llamar a el Api de Windows, sin tener que lidiar con DLLs, ni absolutamente nada. Una línea de código, y a funcionar.

NHotkey es Open Source, y todo el código y documentación está disponible en el repositorio del proyecto en https://github.com/thomaslevesque/NHotkey