Получить код нажатой клавиши - Вопросы и ответы, обсуждения - Ваши вопросы по C/C++ только в данном разделе
06.05.2013, 19:41
#1
Пехотинец
Регистрация: 11.01.2012
Сообщений: 84
Популярность: 3472
Сказал(а) спасибо: 97
Поблагодарили 182 раз(а) в 97 сообщениях
Получить код нажатой клавиши
Привет,
Я пишу свой GUI (C++/В .DLL файле),
Я уже сделала некоторые элементы, но сейчас я пишу 'Input' (поле ввода), проблема в том, что я не могу определить нажатую клавишу, от 0 до 255, без использования цикла for.
Жду от вас помощи, заранее спасибо.
06.05.2013, 20:16
#2
Сержант
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
Re: Получить код нажатой клавиши
Как то так, правда стоит еще подумать, не уверен
Код:
if(kbhit())
{
getch();
}
Добавлено через 8 минут
[
Ссылки могут видеть только зарегистрированные пользователи. ]
Код:
if(kbhit())
{
char keyBuff[256];
GetKeyboardState(keyBuff);
//Теперь в массиве лежат состояния всех виртуальных клавиш
}
Черт. Все равно циклом проходить
________________
Talk is cheap. Show me the code
— Linus Torvalds
Последний раз редактировалось Yukikaze; 06.05.2013 в 20:24 .
Причина: Добавлено сообщение
06.05.2013, 20:29
#3
Пехотинец
Регистрация: 11.01.2012
Сообщений: 84
Популярность: 3472
Сказал(а) спасибо: 97
Поблагодарили 182 раз(а) в 97 сообщениях
Re: Получить код нажатой клавиши
06.05.2013, 21:00
#4
Сержант
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
Re: Получить код нажатой клавиши
А если поставить хук на клавиатуру?
Код:
HHOOK hHook=SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyboardProc, NULL ,GetCurrentThreadId());
int CALLBACK KeyboardProc(int nCode, DWORD wParam, DWORD lParam)
{
//Обработка нажатий
}
________________
Talk is cheap. Show me the code
— Linus Torvalds
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 11:20 .