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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
SKDzR
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 91
#1

Hook клавиатуры - C++

11.06.2010, 23:21. Просмотров 1925. Ответов 6
Метки нет (Все метки)

Приветствую всех,
подскажите мне, пожалуйста, как установить хук клавиатуры на кнопку F12?
С хуками пытался разобраться... но не особо получается... Желательно по-подробнее.

Заранее благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2010, 23:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Hook клавиатуры (C++):

Hook клавиатуры и мыши - C++
Мне нужно сделать hook клавиатуры и мыши в vs 2010, но у меня проблемы с фантазией, и я не совсем понимаю как это сделать) помогите плз)

Hook клавиатуры не работает на windows 7 - C++
Не знаю народ в чём ошибка помогите, под xp работает, а на windows 7 не хочет, пробовал ставить права админа на exe всё равно не пашет . ...

Hook не работает - C++
Привет. Решил разобраться с хуками и немного с dll. Вот чего набодяжил: #include <Windows.h> #include <cstdio> int main() {...

Winsock2 hook - C++
Может кто-нибудь написать пример хука для Winsock2(Ws2_32) closesocket ? (что бы закрывать сокет только когда нужно)

D3d9 hook - C++
Здравствуйте. Вот занялся я перехватом EndScene в игре, использующую для рисования DirectX 9 версии. В общем-то, перехват мне так и не...

Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры. - C++
Привет всем. Как ввести двумерный массив с клавиатуры? Его размерность нужно задавать с клавиатуры.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
12.06.2010, 00:53 #2
отлавливайте эвент для VK_F12.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
HOOKPROC KeyboardHook(int nCode, WPARAM wParam, LPARAM lParam)
{
    if(!(lParam >> 31 & 1))//нажатие
    {
        if (wParam == VK_F12)
            Beep(1000, 100);
    }
    else //отпускание
    {
        if (wParam == VK_F12)
            Beep(100, 100);
    }
    return 0;
}

Что именно не получается, уточните
SKDzR
0 / 0 / 0
Регистрация: 10.01.2010
Сообщений: 91
12.06.2010, 10:00  [ТС] #3
мне вот надо сделать такую вещь, чтобы клавишу F12 нажал (нажал-отпустил) - пошли действия, ещё одно нажатие клавиши - действия прекращаются
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
12.06.2010, 10:33 #4
Цитата Сообщение от M128K145 Посмотреть сообщение
if(!(lParam >> 31 & 1))
M128K145, смущают магические числа. Есть же флаги специальные. Вот для отпускания:
C++
1
if(nCode == HC_ACTION && !(HIWORD(lParam) & KF_UP))
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
12.06.2010, 10:35 #5
SKDzR, добавляешь в обработку нажатия флаг, при каждом нажатии меняешь его состояние, и в зависимости от его значения выполняешь или одно или другое действие.
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
12.06.2010, 11:03 #6
CyBOSSeR, просто 31 бит всегда отвечает за нажатие, поэтому это не магическое число в полном смысле этого выражения
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
12.06.2010, 11:41 #7
M128K145, дело в том, что ты знаешь об этом, а кто-то нет. И этому кому-то будет сложно понять, что же происходит на самом деле.
Знания нужно выражать в наиболее явной форме, использование символических имен как раз таки позволяет это сделать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2010, 11:41
Привет! Вот еще темы с ответами:

Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов. - C++
Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов. Начиная от этого...

HOOK для продвинутых - C++
Есть полностью работоспособная пара DLL и EXE реализующая CBT-HOOK. Хочу расширить проект: в CBTProc могу парсить только заголовок окна...

Написать программу, которая будет добавлять в текстовый файл введенную с клавиатуры информацию.З клавиатуры вводится имя компании, год основания - C++
Help

Hook клавиатуры - C++ WinAPI
Помогите мне пожалуйста с лабораторной работой, мне нужен хук клавиатуры в win32 VS, сама я не дружу с win32..


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

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

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