c# - varias - premiere shortcuts
¿La mejor forma de abordar el procesamiento global de teclas rápidas en c#? (3)
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 fuentes / 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.
http://www.codeproject.com/KB/cs/CSLLKeyboardHook.aspx
Si no estás usando .net 3.5.