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

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

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

Как лучше отлавливать нажатия клавиш на клавиатуре при активном окне - C++

30.12.2013, 10:04. Просмотров 829. Ответов 6
Метки нет (Все метки)

Здравствуйте.Делается проект Win32 на C++ с WinAPI.Подскажите пожалуйста (желательно с примерами) как лучше отлавливать нажатия на клавиатуре при активном окне. Например запущена моя программа и мне нужно при нажатии кнопок вверх, вниз, влево, вправо и Enter обрабатывались определенные сценарии как это можно реализовать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2013, 10:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как лучше отлавливать нажатия клавиш на клавиатуре при активном окне (C++):

Работа программы при не активном окне - C++
Доброго времени суток. Столкнулся со следующей проблемой. Не знаю как это обозвать поэтому напишу подробно что надо и как есть. ...

Программно нажать пробел в активном окне - C++
Уважаемы форумчане, подскажите пожалуйста как создать бесконечный цикл нажатия пробела в активном окне. ЗЫ: Гуглил - не нашел ...

Написать программу которая при нажатии клавиш:правый Shift+ правый Alt блокировала бы клавишу 9 на клавиатуре. - C++
Добрый день Необходимо написать программу которая при нажатии клавиш:правый Shift+ правый Alt блокировалась бы клавиша 9 на клавиатуре.

Как отследить нажатия клавиш? - C++
Здорово перцы! Все действие происходит на WinAPI в VC6. У меня такая проблема: Я создаю таймер и отслеживаю нажатия клавиш Ctrl+V:...

Как создать сообщение нажатия клавиш клавиатуры? - C++
Мне надо что бы при каждом нажатии на клавишу клавиатуры у меня выполнялись определенные действия... Я думаю что надо сделать примерно...

Как можно отследить нажатия клавиш на активном окне? - Delphi
Всем привет!!! Кто-нибудь знает, как можно отследить нажатия клавиш на активном окне... т.е. моя прога должна следить за нажатиями...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
30.12.2013, 11:16 #2
Кнопки клавиатуры посылают сообщения
WM_KEYDOWN, WM_KEYUP, WM_CHAR.
wparam для WM_KEYDOWN - это сканкод нажатой кнопки
VK_LEFT - влево
VK_RIGHT - вправо
VK_DOWN - вниз
VK_UP -вверх
0
bugatti1231
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 35
30.12.2013, 11:51  [ТС] #3
Цитата Сообщение от zss Посмотреть сообщение
Кнопки клавиатуры посылают сообщения
WM_KEYDOWN, WM_KEYUP, WM_CHAR.
wparam для WM_KEYDOWN - это сканкод нажатой кнопки
VK_LEFT - влево
VK_RIGHT - вправо
VK_DOWN - вниз
VK_UP -вверх
спасибо. но я это уже нашел но так и не смог разобраться как заставить работать. можно кусочек кода? например я нажимаю стрелку влево и на экране выводится кусочек текста
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
30.12.2013, 11:59 #4
C++
1
2
3
4
5
6
7
8
9
10
switch(cmd)
{
case WM_KEYDOWN:
{
   if(wparam==VK_LEFT)
     MessageBox(hwnd,"Нажата клавиша 'влево'","Сообщение",MB_OK);
}
break;
....
}
0
bugatti1231
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 35
30.12.2013, 12:03  [ТС] #5
zss, спасибо только у меня все равно ничего не работает "wparam" так и оставить в коде или нужно свое что то написать?
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
30.12.2013, 12:10 #6
C++
1
int WINAPI Obrabotchik(HWND hwnd,int cmd,WPARAM wparam,LPARAM lparam);
Это объявление функции обработки сообщений.
Посмотрите, как она выглядит у Вас,
и сделайте соответствующие изменения.

p.s. hwnd должно быть полноценным окном.
Для диалоговых окон не получится
(менеджер диалога перехватывает сообщения от клавиатуры).
1
bugatti1231
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 35
30.12.2013, 13:18  [ТС] #7
zss, спасибо!!! работает. буду дальше копать. истина то была рядом
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2013, 13:18
Привет! Вот еще темы с ответами:

Обработка нажатия клавиш при не активном приложении - C#
Вообщем, у меня приложение сворачивается в трей. Как видно на картинке. Шелкаю правой кнопкой и там вылазит менюшка. У менюшки есть...

Форма не воспринимает нажатия клавиш при активном контролле - Visual Basic .NET
Всем доброго времени суток. Вот такая проблема: форма не воспринимает нажатия клавиш, я так понял это связано с тем что в это время активна...

Асинхронно отлавливать нажатия клавиш в консоли - C#
Есть ли какая-нибудь функция в C#, с помощью которой можно асинхронно отлавливать нажатия клавиш в консоли? Ну допустим, выполняется...

Как отлавливать нажатия клавиш в игре? Как их виртуально нажимать в игре? - Игры
Всем привет. Где-то месяц назад прочитал статью об каком-то парне, что сделал самообучающую программу для игр на Нинтендо. Но это вроде...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.12.2013, 13:18
Ответ Создать тему
Опции темы

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