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

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

Войти
Регистрация
Восстановить пароль
 
FarStar
Заблокирован
#1

Одновременное нажатие клавиш - C++

07.02.2013, 10:56. Просмотров 1232. Ответов 3
Метки нет (Все метки)

Подскажите, как отслеживать в WinAPI в колбэке окна одновременное нажатие клавиш? Ну там типа switch(wParam) ....тралала case VK_F1: ... break; VK_F2 ... break; а как сделать, чтоб реакция шла например на VK_F1 с VK_LSHIFT ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2013, 10:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одновременное нажатие клавиш (C++):

одновременное нажатие клавиш - C++
подскажите как проверить если нажали одновременно 2 клавиши getch проверяет какая была нажата а не "была ли нажата вот эта кнопка" ...

нажатие клавиш - C++
Что можно использовать вместо getch() чтобы программа не ждала нажатия клавиши а проверяла была ли нажата клавиша (только не bioskey)

Нажатие клавиш - C++
Ребята, перерыл интернет, но так и не понял, как сделать обработку нажатия клавиш с буквами алфавита к примеру этот код у меня работает: ...

Нажатие клавиш - C++
У меня есть консольное приложение, как сделать чтобы при нажатии на определенную клавишу происходили определенные действия) Например при...

Проверка на нажатие клавиш - C++
Пишу в MS Visual C++ программу. Суть такова, что у меня есть функция_1, которая выполняется при нажатии клавиши(Enter, например) Далее...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
-=ЮрА=-
Заблокирован
Автор FAQ
07.02.2013, 11:06 #2
FarStar, не надо даже никаких CALLBACK используй GetAsyncKeyState, как это сделать посмотри в моём блоге Стрелки клавиатуры в консоли (да да там без getch и прочей кустарной ерунды именно VK_LEFT/RIGHT и т.д.)
0
FarStar
Заблокирован
07.02.2013, 12:47  [ТС] #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Да причём тут это? Я говорю как записать правильно выражение для двух кнопок
LRESULT _stdcall WndProc(HWND hWnd, UINT msg,
                         WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
 
    switch (msg)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);       
        break;
    case WM_KEYDOWN:
        switch(wParam)
        {
        case VK_UP:
            trulala;
                        break;
видишь есть case для VK_UP, а мне надо к примеру не только для VK_UP, а для одновременно VK_UP + VK_LSHIFT

выражение case VK_UP & VK_LSHIFT не срабатывает
0
-=ЮрА=-
Заблокирован
Автор FAQ
07.02.2013, 13:14 #4

Не по теме:

FarStar, да при всём, взял бы да погуглил что за функцию тебе посоветовал...
Через WM_KEYDOWN не сделаешь нужны или акселераторы или как я выше сказал поюзать GetAsyncKeyState...



Добавлено через 23 минуты
FarStar, на пальцах.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <windows.h>
#include <iostream>
using namespace std;
 
int main()
{
    bool bWork = true;
    while(bWork)
    {
        if(GetAsyncKeyState(VK_SHIFT) && GetAsyncKeyState(VK_F1))
            cout<<"SHIFT + F1"<<endl;
        Sleep(10);
    }
    return 0;
}
- Нажми SHIFT + F1 в консоли. Парсинг и обработку отжатий сделаешь сам...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2013, 13:14
Привет! Вот еще темы с ответами:

Автоматическое нажатие клавиш - C++
Нужен код программы которая будет в открытом окне автоматически будет нажимать заданные клавиши?

Отследить нажатие определенных клавиш - C++
Доброй ночи Не получается решить такую проблему Через getch() получаю код клавиши и рядом вывожу соответствующий символ Но по заданию...

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

Нажатие клавиш за определенное время - C++
Всем доброго времени суток. Возник такой вопрос... как в С++ возможно описать такое &quot;дело&quot;: пользователю даеться определенный интервал...


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

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

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