Здравствуйте!
Есть консольное приложение, мне нужно обрабатывать в нём нажатие определённой клавиши.
Очень подошла функция GetKeyState(), но мне нужно обрабатывать клавишу асинхронно, то есть приложение всё время спит и не занимает процессорного времени, но как только произошло нажатие клавиши, оно проснулось, обработало его и снова уснуло. Что-то вроде такого:
HANDLE hEvent;
DWORD EventMask;
SHORT keyb;
hEvent = CreateEvent(
NULL,
false, // auto-reset event
false, // non-signalled state
""
);
EventMask = <ххххх>;
/*
А вот тут надо бы привязать к событию функцию обработки клавиши.
типа такого: keyb=GetKeyState(VK_ESCAPE);
И как её сделать, не догоняю....

*/
while(1)
{
WaitForSingleObject(hEvent,INFINITE);
printf("%x \n", keyb);
}
Всем спасибо!