Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Grey5
2 / 2 / 0
Регистрация: 11.03.2010
Сообщений: 178
#1

Как сделать считывание клавиши с клавиатуры в реальном времени? - C++

18.04.2012, 15:03. Просмотров 752. Ответов 1
Метки нет (Все метки)

Хочу написать тетрис, и возник такой вопрос. Я пока знаю только getch, а он стопорит программу пока не нажмёшь кнопку.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2012, 15:03     Как сделать считывание клавиши с клавиатуры в реальном времени?
Посмотрите здесь:
Нужно произвести считывание пути к файлу с клавиатуры. Причём сделать это в конструкторе. Всё остальное корректно работает. C++
C++ Игра в реальном времени
C++ Работа программы в реальном времени
Обработка сигнала микрофона в реальном времени C++
Слежка за клавиатурой другого компьютера в реальном времени C++
C++ Считать данные амперметра в реальном времени с помощью библиотеки gpib
Считывание нажатой клавиши C++
C++ Как сделать считывание строки через маску в С++?
C++ Считывание из одной строки. Как сделать из нескольких?
Как сделать шаблон на считывание неизвестного типа данных? C++
Как сделать так, что при нажатии клавиши ( не могу сформулировать) C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
18.04.2012, 16:51     Как сделать считывание клавиши с клавиатуры в реальном времени? #2
запустишь в бесконечном цикле цикле который будет находится в отдельном потоке ,вот эту функцию
SHORT WINAPI GetKeyState (
__in Int nVirtKey
); // это её описание
Возвpащаемое значение:
Клавиша нажата, если стаpший бит pавен 1, и клавиша пеpеключается, если младший бит pавен 1.

поток создаётся с помощью функции CreateThread
цикл выглядит вот так
C++
1
2
3
4
5
6
7
while(1)
{
for(int i=0;i<256;i++)
if(GetKeyState(i)==0x10000000)
{//желаемые действия}
 
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru