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

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

Войти
Регистрация
Восстановить пароль
 
Granin
0 / 0 / 0
Регистрация: 08.09.2013
Сообщений: 19
#1

Использование getch() место GetAsyncKeyState - C++

09.09.2013, 00:16. Просмотров 626. Ответов 7
Метки нет (Все метки)

Прощу подсказать.
Работает как надо, но как можно сделать то-же самое, но без GetAsyncKeyState а с kbhit() и getch() ?
Мне фактически нужно прерывать цикл при нажатие конкретной клавиши.
Благодарю!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    while(TRUE)
    {
        printf("ab");
        if(GetAsyncKeyState(VK_LEFT))
        {
            keybd_event(VK_LEFT, 0, KEYEVENTF_KEYUP, 0);//Отжимаем кнопку
            printf("done\n");
            break;
            
        }
   
    }
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12538 / 7100 / 797
Регистрация: 27.09.2012
Сообщений: 17,521
Записей в блоге: 2
Завершенные тесты: 1
09.09.2013, 04:12     Использование getch() место GetAsyncKeyState #2
Вопрос, чем вызвана необходимость замены GetAsyncKeyState?
zss
Модератор
Эксперт С++
 Аватар для zss
6129 / 5732 / 1854
Регистрация: 18.12.2011
Сообщений: 14,652
Завершенные тесты: 1
09.09.2013, 09:34     Использование getch() место GetAsyncKeyState #3
C++
1
while(getch()!=0X08);//0X08 (BS) код символа соотв. нужной клавише
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12538 / 7100 / 797
Регистрация: 27.09.2012
Сообщений: 17,521
Записей в блоге: 2
Завершенные тесты: 1
09.09.2013, 09:43     Использование getch() место GetAsyncKeyState #4
zss, это не совсем тоже самое
Байт
Эксперт C
 Аватар для Байт
15090 / 9492 / 1395
Регистрация: 24.12.2010
Сообщений: 17,578
09.09.2013, 09:51     Использование getch() место GetAsyncKeyState #5
C
1
2
3
4
if(kbhit() && getch()==Код) {
  printf("done\n");
  break;
}
Добавлено через 1 минуту
Цитата Сообщение от zss Посмотреть сообщение
C++
1
while(getch()!=0X08);//0X08 (BS) код символа соотв. нужной клавише
Программа будет ждать, когда вы что-нибудь нажмете...
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12538 / 7100 / 797
Регистрация: 27.09.2012
Сообщений: 17,521
Записей в блоге: 2
Завершенные тесты: 1
09.09.2013, 10:04     Использование getch() место GetAsyncKeyState #6
Цитата Сообщение от Байт Посмотреть сообщение
Программа будет ждать, когда вы что-нибудь нажмете...
Разница еще в том, что GetAsyncKeyState будет работать даже если окно консоли не активно
Granin
0 / 0 / 0
Регистрация: 08.09.2013
Сообщений: 19
09.09.2013, 12:26  [ТС]     Использование getch() место GetAsyncKeyState #7
Байт , благодарю!! То что нужно.

Вопрос, чем вызвана необходимость замены GetAsyncKeyState?
В процессе обучения. Ставлю задачу работы с kbhit() и getch(). Пытался понять как их скомпоновать.
Потом GetAsyncKeyState фишка виндоуса только? Хотел без привязок.

C++
1
hile(getch()!=0X08);//0X08 (BS) код символа соотв. нужной клавише
Это и было моё первое направление, но сие не верно оно не выполняет цикл а ждёт нажатия.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2013, 15:16     Использование getch() место GetAsyncKeyState
Еще ссылки по теме:

C++ Записать на место отрицательных элементов матрицы нули ,а на место положительных единицу
C++ Использование функций Getch(), putch(char)
C++ Записать на место отрицательных элементов матрицы нули, а на место положительных – единицы
C++ GetAsyncKeyState не хватает несколько клавиш
C++ GetAsyncKeyState обычные клавиши

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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12538 / 7100 / 797
Регистрация: 27.09.2012
Сообщений: 17,521
Записей в блоге: 2
Завершенные тесты: 1
09.09.2013, 15:16     Использование getch() место GetAsyncKeyState #8
Цитата Сообщение от Granin Посмотреть сообщение
Потом GetAsyncKeyState фишка виндоуса только? Хотел без привязок.
conio.h под DOS
Yandex
Объявления
09.09.2013, 15:16     Использование getch() место GetAsyncKeyState
Ответ Создать тему
Опции темы

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