Podczas gdy pętla wykorzystuje dużo czasu procesora

Tworzę rejestrator klawiszy dla mojego osobistego zainteresowania, a także chcę wiedzieć, jak je przechwytywać i używać jako funkcji (takich jak skróty klawiszowe).

Dostałem kod, aby dowiedzieć się, jak działają keylogger i GetAsyncKeyState ()tutaj.

Mam go uruchomić w Code :: Blocks, ale najdziwniejsze jest to, że kiedy sprawdzam menedżera zadań, moje wykorzystanie procesora wzrasta do 100%. Kiedy zamykam program, wraca on na dół i wraca do 100%, kiedy go ponownie włączam.

Przypuszczam, że to z powodu nieskończonej pętli while stale sprawdzającej wejścia, ale chcę wiedzieć, czy jest jakiś sposób na zmniejszenie wykorzystania procesora bez utraty funkcji.

P. Jak zrobić skrót klawiszowy? Na przykład naciśnięcieCtrl+E aby wyjść z programu.

questionAnswers(3)

yourAnswerToTheQuestion