C ++ Win32 события клавиатуры

Я работаю над регистратором нажатий клавиш для личного интереса и задал вопрос, связанный с этим вчера;В то время как цикл использует много ресурсов процессора.

Проблема с программой заключалась в том, что потребовалось слишком много загрузки ЦП, и люди предложили сделать входные данные основанными на событиях.

Так как я'Я новичок в Win32 API, я пытаюсь найти ссылки и учебные пособия, которые расскажут мне, как создавать ввод с клавиатуры как на основе событий, а не на основе опросов. Но проблема в том, что я не смог найти каких-либо убедительных примеров или ссылок, так как это было довольно сложно понять для полного новичка.

Большинство из них отметили, что программирование на основе событий находится в приложении с графическим интерфейсом, но я хочу, чтобы это приложение для регистрации нажатий клавиш было консольным приложением.

Два моих главных вопроса из всего этого:

Могу ли я написать консольный регистратор нажатий клавиш с помощью Win32 API? Если нет, каковы мои варианты?

а также

У кого-нибудь есть справочные сайты, которые помогут мне понять, как фиксировать нажатия клавиш на основе событий?

Если требуется дополнительная информация, я использую кодовые блоки под Windows XP с компилятором GCC.

Ответы на вопрос(2)

Ваш ответ на вопрос