Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
3 / 3 / 0
Регистрация: 15.11.2021
Сообщений: 65

Реализовать отображение на экране нажатой в текущий момент клавиши клавиатуры

03.12.2022, 17:00. Показов 1425. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Помогите пожалуйста реализовать отображение на экране нажатой в текущий момент клавиши
клавиатуры.
Пробовал данным способом, но выводит только код клавиши клавиатуры, не могу разобраться, как преобразовать код нажатой клавиши в символ. Код прикрепляю.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <Windows.h>
#include <iostream>
 
using namespace std;
HHOOK _hook;
KBDLLHOOKSTRUCT kbdStruct;
LRESULT hkb;
 
LRESULT _stdcall HookCallBack(int nCode, WPARAM wParam, LPARAM lParam)
{
    if (nCode >= 0)
    {
        if (wParam == WM_KEYDOWN)
        {
 
            kbdStruct = *((KBDLLHOOKSTRUCT*)lParam);
           cout<<"Use key:"<<kbdStruct.vkCode<<endl;
        }
    }
 
    return CallNextHookEx(_hook, nCode, wParam, lParam);
}
 
void SetHook()
{
    if (!(_hook = SetWindowsHookEx(WH_KEYBOARD_LL, HookCallBack, 0, 0)))
    {
        LPCTSTR a = L"error";
        LPCTSTR b = L"error";
        MessageBox(0, a, b, MB_ICONERROR);
    }
}
 
void relaseHook()
{
    UnhookWindowsHookEx(_hook);
}
 
 
int main()
{
    SetHook();
    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0))
    {
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.12.2022, 17:00
Ответы с готовыми решениями:

Написать программу перемещения на экране положения курсора в зависимости от нажатой клавиши
Нужно написать программу с использованием макросов для перемещения курсора в зависимости от нажатой клавиши(А-влево,S-вправо,W-вверх,Z-...

время нажатой клавиши клавиатуры
Здравствуйте. Нужно засечь время нажатой клавиши клавиатуры. (любой) Подскажите как проще реализовать. Добавлено через 1 час 29...

Отображение названия и кода нажатой функциональной клавиши
Создать на форме Form3 поля Label1 i Label2 для отображения названия и кода нажатой функциональной клавиши. Если клавиша НЕ функциональная,...

2
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
03.12.2022, 19:13
Вы определитесь что вам нужно: код клавиши или символ текста. Это же разные вещи.
Для символов нужно ловить WM_CHAR.
0
3 / 3 / 0
Регистрация: 15.11.2021
Сообщений: 65
03.12.2022, 20:05  [ТС]
,Замабувараев, подскажите где это поменять, я только начал писать на плюсах, синтаксиса сильно не знаю, изучал другие языки. Выше код был частично скопипащен с интернета, там была работа с кодом, мне нужно с символами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.12.2022, 20:05
Помогаю со студенческими работами здесь

Как передать переменной значение нажатой клавиши с клавиатуры?
есть бесконечный цикл, после ввода структуры, выходит сообщение добавить еще одного человека ? если да то дальше цикл продолжить, если нет...

Хук клавиатуры - как получить код нажатой клавиши
Господа делаю хук на клавиатуру,вроде бы и работает(при нажатии на клавишу показывает),но есть одно но !!! не могу получить код нажатой...

Реализовать программу ,отображающую код нажатой клавиши
Реализовать программу ,отображающую код нажатой клавиши. в форме

Как реализовать считывание не одной нажатой клавиши, а нескольких
Здравствуйте! Меня интерисует вопрос. Как реализовать считывание не одной нажатой клавиши, а нескольких? К примеру, при нажатии клавиш +...

[masm32] Реализовать сообщение WM_CHAR (вывод названия нажатой клавиши)
Здраствуйте,пишу на masm. Возник вопрос,как реализовать сообщение WM_CHAR,чтобы при нажатий на клавишу,допустим 'h', выводилось...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru