¿La mejor forma de abordar el procesamiento global de teclas rápidas en c #?

Posible duplicado:
¿Cómo puedo registrar una tecla rápida global para decir CTRL + MAYÚS + (LETRA) usando WPF y .NET 3.5?

Me gustaría tener varias teclas rápidas globales en mi nueva aplicación (para controlar la aplicación desde cualquier lugar de Windows), y todas las fonts / soluciones dadas que encontré en la web parecen proporcionar una especie de solución de cojera (o bien soluciones solo para una g.hotkey, o soluciones que mientras se ejecuta crean retardos de mouse molestos en la pantalla).

¿Alguien aquí sabe de un recurso que pueda ayudarme a lograr esto, de lo que pueda aprender? ¿Cualquier cosa?

Gracias ! 🙂

La mejor solución que he encontrado es http://bloggablea.wordpress.com/2007/05/01/global-hotkeys-with-net/

Hotkey hk = new Hotkey(); hk.KeyCode = Keys.1; hk.Windows = true; hk.Pressed += delegate { Console.WriteLine("Windows+1 pressed!"); }; hk.Register(myForm); 

Tenga en cuenta cómo puede establecer diferentes lambdas para diferentes teclas rápidas

Manejaría esto usando P / Invoke para llamar a RegisterHotKey () para cada tecla de acceso directo, y luego usar NativeForm (suponiendo que estés usando WinForms) para recibir notificaciones del mensaje WM_HOTKEY. Esto debería mantener la mayor parte de su código de tecla de acceso directo en un solo lugar.