![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Andrewshkovskii |
![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
Собственно сабж. Как-то через kbhit() и цикл while?
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Как-то через kbhit() и цикл while? Сомневаюсь, ты не сможешь точно распознать, когда клавиша отпущена, поскольку заполняется буфер, и по крайней мере надо будет ждать, пока буфер не освободится... А если он переполнится? Оно тебе надо? Я бы, например, делал через WinAPI функции:#include <windows.h> |
Andrewshkovskii |
![]()
Сообщение
#3
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 222 Пол: Мужской Реальное имя: Andrew Репутация: ![]() ![]() ![]() |
16-тиричные коды - коды клавиш ?
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Нет, признаки нажатия/отпускания... Если GetKeyState() & 0xFF00 равно нулю (т.е., если старший байт результата == 0) значит клавиша отпущена, иначе - нажата...
Поэтому при нажатии пробела первый цикл прекращается (GetKeyState() & 0xFF00 != 0), а при ее отпускании - прекращается второй цикл, результат AND-а опять нулевой... |
![]() ![]() |
![]() |
Текстовая версия | 24.07.2025 3:21 |