Обработка нажатия клавиш
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Есть идея написать код С++ который обрабатывал нажатие клавиши так сказать в реальном времени. То есть кнопка нажата выполнилось действие, отпустил эту же кнопку выполнилось другое действие ? Эксперименты с !kbhit() желаемого результата не дают. Работаю в консоли.
Как то так?
Да да отлично я его не много дополнил, идеально то что хотел. Спасибо )
{
setlocale ( 0, «» );
while ( true )
{
if ( kbhit() )
{
cout << «1» << endl;
//äðóãèå äåéñòâèÿ
while ( kbhit() ) getch();
}
else
{
cout << «2» << endl;
}
}
porshe, так будет почище:
Cranium, да будет, но не всегда. Если нажата клавиша с дополнительным кодом? Тогда лучше так:
Хотя точно не знаю. Ваш код обрабатывает нажатия клавиш с расширенным кодом, но не сохраняет их в памяти( или сохраняет, но я не понимаю как? ).
Ещё есть странность. Без очистки буфера клавиатуры ( цикл
while
). У меня код не работал, даже если я вставлял дваgethc
'a.Так лучше, но не всегда )) Условие будет чуть сложнее.
Взято отсюда.
GetAsyncKeyState в помощь