Mientras bucle usando mucho tiempo de CPU

Estoy creando un registrador de pulsaciones de teclas para mi interés personal, y también quiero saber cómo capturarlas y usarlas como funciones (como los atajos de teclas).

Obtuve el código para aprender cómo funcionan el keylogger y GetAsyncKeyState ()aquí.

Tengo que ejecutarlo en Code :: Blocks, pero lo más extraño es que cuando reviso mi administrador de tareas, mi uso de CPU aumenta al 100%. Cuando cierro el programa, vuelve a bajar y vuelve al 100% cuando lo vuelvo a encender.

Supongo que es por el bucle infinito mientras se comprueban constantemente las entradas, pero quiero saber si hay alguna forma de disminuir el uso de la CPU sin perder la función.

P.S ¿Cómo puedo hacer un atajo clave? Por ejemplo, presionandoCtrl+E Para hacer salir el programa.

Respuestas a la pregunta(3)

Su respuesta a la pregunta