Utilice el uso de sólo DirectInput bajo circunstancias especiales
Lo bueno del bucle de mensajes de Windows se utiliza con GetMessage es que utiliza 0% uso de la CPU. Si está haciendo cosas que no requieren mucho procesamiento, como esperar una clave del usuario, recopilar datos del usuario, como en una base de datos o un programa de impuestos, o incluso un procesador de textos, tiene sentido usar el mensaje de Windows con getmessage. La fecha de todos los programas anteriores es el proceso cuando el usuario presiona una tecla.
Todo lo que necesita el ciclo de mensajes de Windows para procesar claves es que se cambie ese programa. El mouse ni siquiera necesita estar en la ventana.
especiales circunstancias de usar DirectInput
Si necesita: 1) Saber cuando se presiona y suelta una tecla. También es posible que no desee que se repitan las teclas detectadas como pulsaciones de teclas.
2) Claves de proceso en el fondo cuando se cambia otro programa.
Si cualquiera de las anteriores es verdadera, entonces use la entrada directa.
Si solo está recopilando datos del usuario, deberá usar el comando sleep para suspender la ejecución del programa. Desea que el programa tenga un uso de CPU del 0% en el administrador de tareas si el programa está allí esperando las claves del usuario.
Utilice la función de reposo para poner el programa en reposo hasta que desee sondear la entrada directa de las teclas.
Por lo tanto, la entrada directa solo desperdicia tiempo de programación si usted está haciendo una tarea simple y común de recopilar claves del usuario como puede ver.
Me gustaría saber por qué no debería usar DirectInput. Gracias – Adir
Respondido por Alex en http://stackoverflow.com/questions/2165230/should-i-use-directinput-or-windows-message-loop/2168067#2168067 – bobobobo