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

Создать программу которая будет отслеживать двойное нажатия кнопки SHIFT

27.04.2023, 20:04. Показов 1611. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите с создание программы, которая сможет отследить двойные нажатия (За короткое время), для отслеживания нажатий после завершения (или во время)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.04.2023, 20:04
Ответы с готовыми решениями:

Написать программу, которая будет отслеживать подключение USB-устройств
Хочу написать программу которая будет отслеживать подключение usb устройств(флешек хардов и д.р. съемных накопителей). В общем суть проги...

Составить программу, которая будет отлавливать нажатия клавиатуры
Составить программу и блок-схему, которая будет отлавливать нажатие клавиш и показывать, какая клавиша в данный момент нажата

Составить программу, которая подсчитывает расстояние между точкой нажатия и отпускания кнопки мыши
На форме установлена метка (TLabel). Составить программу, которая подсчитывает расстояние между точкой нажатия и отпускания кнопки мыши

7
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
27.04.2023, 21:33 2
В контексте чего?
0
0 / 0 / 0
Регистрация: 27.04.2023
Сообщений: 3
28.04.2023, 10:23  [ТС] 3
В контексте игры
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
28.04.2023, 11:03 4
Больше информации надо. В какой среде делаешь, какие библиотеки, какая ОС.
0
0 / 0 / 0
Регистрация: 27.04.2023
Сообщений: 3
28.04.2023, 11:20  [ТС] 5
Visual Studios, по библиотекам не знаю, windows 10
0
597 / 419 / 136
Регистрация: 02.10.2008
Сообщений: 1,782
Записей в блоге: 1
28.04.2023, 11:49 6
Цитата Сообщение от Ctphl Посмотреть сообщение
по библиотекам не знаю
Вот сначала и нужно определится с либами для игры. Их море. SDL, OpenGL, DirectX и т.п. У каждой либы свой набор функций.
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
28.04.2023, 11:51 7
Как это не знаешь? Тут некоторые игру в консоли делают, другие SFML берут и т. п. У тебя что? Как ты вообще с клавиатурой работаешь?
0
3 / 3 / 0
Регистрация: 07.10.2018
Сообщений: 59
18.05.2023, 23:27 8
Для захвата клавиш в Windows можно использовать
C++
1
GetKeyState()
Функция захватывает клавишу на любом окне.

Для отчета времени можно использовать
C++
1
std::chrono
Вот пример кода с комментариями. Он считает время между нажатиями и время самого нажатия
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
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <Windows.h>
#include <chrono>
using namespace std;
 
uint64_t millis()
{
    uint64_t ms = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::
        now().time_since_epoch()).count();
    return ms;
}
 
 
int main()
{
     
    uint64_t old_press = millis(); //Время прошлого нажатия 
    uint64_t old_release = millis(); //Время прошлого отпускания 
 
 
    bool flag_press = false; //Флаг чтобы функции нажатия отпускания срабатывали 1 раз
 
 
    while (true) {
        bool state = GetKeyState(VK_SHIFT) & 0xff00; //Читаем кнопку 
 
        uint64_t current_time = millis(); //Текущее время
 
 
        if (state && !flag_press) //Условия срабатывает когда мы кнопку нажали
        {
            flag_press = true;
 
            cout << "The time between the last tap: " << current_time - old_press << "ms\n"; //Время между текущим и прошлым нажатием 
            cout << "The time between releasing and pressing: " << current_time - old_release << "ms\n\n"; //Время между отпусканием и прошлым нажатием 
 
 
            old_press = current_time; //Запоминаем время нажатия на кнопку 
 
 
        }
 
        if (!state && flag_press) //Условия срабатывает когда мы кнопку отпустили
        {
            flag_press = false;
 
            cout << "Time how long was pressed: " << current_time - old_press << "ms\n\n"; //Время сколько кнопка была нажата
 
            old_release = current_time; //Запоминаем время отпускание кнопки 
        }
 
        //Спим несколько миллисекунд, чтобы не тратить процессорное время
        Sleep(10);
 
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.05.2023, 23:27
Помогаю со студенческими работами здесь

Создайте обработчик события нажатия кнопки мыши на форме (Click), который будет устанавливать все кнопки в активный режи
Доброго времени суток! Помогите сделать задачу пожалуйста я полный ноль! (с описанием если можно:cry:) Уточните условие задания,...

Создать программу которая будет рисовать квадраты
Нужно создать программу которая будет рисовать квадраты. Т.е первый квадрат будет со сторонами 100000 каждая, второй строится от нижнего...

создать программу которая будет отобржать яблоко
Нужно на паскале сделать ( точнее создать программу ) которая будет отобржать яблоко . Сначало не закрашенное. А потом другую программу ,...

Создать программу, которая будет выводить таблицу
Здравствуйте знатоки! Нужна помощь. В заданий написано: создайте программу, которая будет выводить таблицу с n строк, представляющих собой...

Создать программу, которая будет имитировать склад
Создать программу, которая будет имитировать склад Надо создать классы Работники, Отделы, Склад. Класс Отделы содержит динамический...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Java Record или Kotlin Data Class: что лучше для неизменяемых данных
Wired 04.03.2025
Java Record и Kotlin Data Class - средства для работы с неизменяемыми структурами данных, каждое из которых предлагает свой уникальный подход к решению этой задачи. История их появления весьма. . .
Создание производительны­­х API с Java и gRPC
Wired 04.03.2025
В разработке производительность и масштабируемость микросервисных приложений играют ключевую роль. Традиционные REST API, несмотря на свою популярность и простоту, не всегда способны обеспечить. . .
Что нового в JDK 24
Wired 04.03.2025
JDK 24 знаменует собой значительный скачок в развитии Java, внося фундаментальные улучшения в производительность, безопасность и удобство разработки. Релиз включает множество революционых изменений,. . .
Разработка блокчейн с использованием Java: смарт-контракты и dApp
Wired 04.03.2025
Современная блокчейн-разработка на Java предоставляет разработчикам широкий спектр возможностей. В отличие от Solidity, который ограничен экосистемой Ethereum, Java позволяет создавать как. . .
WebAssembly в Kubernetes
stackOverflow 03.03.2025
В современной экосистеме облачных технологий WebAssembly (Wasm) становится все более значимым компонентом, предлагая уникальный подход к выполнению кода в распределенных системах. Эта технология. . .
GitHub Actions или Jenkins: Выбираем CI/CD платформу
stackOverflow 03.03.2025
Непрерывная интеграция и развертывание (CI/ CD) изменили подход к разработке программного обеспечения, превратив его в бесшовный процесс от написания кода до развертывания в продакшн. GitHub Actions и. . .
Автоматизация тестирования Pull Request в Kubernetes: Интеграция с GitHub Actions и GKE
stackOverflow 03.03.2025
Масштабные проекты с использованием Kubernetes требуют надежной системы тестирования изменений перед их внедрением в продакшн-среду. Традиционный подход с ручной проверкой Pull Request не справляется. . .
Tестирование Pull Request в Kubernetes с помощью vCluster
stackOverflow 03.03.2025
При работе с микросервисной архитектурой критически важно обеспечить качественное тестирование каждого изменения перед его слиянием в основную кодовую базу. Однако тестирование Pull Request в. . .
Использование пакета Context в Golang
bytestream 03.03.2025
Управление параллельными процессами в современных приложениях - сложная задача, особенно когда речь идет о микросервисной архитектуре и распределенных системах. Пакет context в Go - это гибкое. . .
WebAssembly и Go: Работа с DOM и обработка ошибок
bytestream 03.03.2025
WebAssembly представляет собой технологию, позволяющую запускать низкоуровневый код в браузере практически на нативной скорости. Особенно интересные возможности открываются при использовании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru