Bueno, this es la gran lista de códigos de teclas virtuales.
CTRL-S va a ser enviado a través de como 2 WM_KEYDOWN
mensajes - un mensaje cuando la tecla CTRL se pulsa (VK_LCONTROL
o VK_RCONTROL
) seguido de una 0x53
para la tecla de "S".
En lugar de procesar ambos mensajes, espere el mensaje de la tecla 'S' y luego llame al GetKeyState usando el valor mágico VK_CONTROL (para ver si necesita las teclas de control izquierda y derecha) la S fue presionada con CTRL presionada.
-
Obviamente, mensajes de teclado se envían directamente a la ventana que tiene el foco. Para que las combinaciones de aceleradores funcionen en el alcance de la aplicación, debe verificar los mensajes antes de enviarlos a la ventana de enfoque, es decir, en su bomba de mensajes. Consulte la documentación para TranslateAccelerator.
Si desea controlar las pulsaciones de tecla de todo el sistema, la otra respuesta apunta a la tecla de acceso rápido api.
¿Qué debo hacer es otro control aparte de hWnd tiene foco? – jmasterx
Para manejar la aplicación de combinaciones ctrl-X de ancho, usaría la API del acelerador. Systemwide - la api de la tecla de acceso rápido. –