Обработка клавиши в консоли
От: Звероящер Россия  
Дата: 14.07.09 05:00
Оценка:
Здравствуйте!
Есть консольное приложение, мне нужно обрабатывать в нём нажатие определённой клавиши.
Очень подошла функция 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);

}


Всем спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.