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

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

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

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

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

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

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

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

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

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

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

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

Hook клавиатуры. - C#
Народ нужна помощь и срочно. Задание: Реализовать класс Хук клавиатуры корректно обрабатывающий нажатие русских клавиш. На форме нахотся...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
12.06.2010, 00:53     Hook клавиатуры #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  [ТС]     Hook клавиатуры #3
мне вот надо сделать такую вещь, чтобы клавишу F12 нажал (нажал-отпустил) - пошли действия, ещё одно нажатие клавиши - действия прекращаются
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
12.06.2010, 10:33     Hook клавиатуры #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,401
12.06.2010, 10:35     Hook клавиатуры #5
SKDzR, добавляешь в обработку нажатия флаг, при каждом нажатии меняешь его состояние, и в зависимости от его значения выполняешь или одно или другое действие.
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
12.06.2010, 11:03     Hook клавиатуры #6
CyBOSSeR, просто 31 бит всегда отвечает за нажатие, поэтому это не магическое число в полном смысле этого выражения
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2010, 11:41     Hook клавиатуры
Еще ссылки по теме:

Hook клавиатуры и мыши - C++ WinAPI
Я пересмотрел кучу сайтов по похожим запросам И нигде толком и понятно не написано выручайте люди.

Hook клавиатуры не работает - C++ WinAPI
Всем доброй ночи, возникла такая проблема: дано задание написать аудит клавиатуры, еще проще обычный кейлоггер. Вот код hooks.h ...

Ошибка перехвата клавиатуры (hook) - C++ WinAPI
Есть задача: запустить приложение и отлавливать нажатые клавиши. Привожу часть кода, отвечающую за это://dllmain.cpp: #include...

Перехват нажатий клавиш клавиатуры (hook) - C#
Вот пример кода перехвата и последующего блокирования комбинации клавиш Alt+Tab namespace WindowsFormsApplication3 { public...


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

Или воспользуйтесь поиском по форуму:
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
12.06.2010, 11:41     Hook клавиатуры #7
M128K145, дело в том, что ты знаешь об этом, а кто-то нет. И этому кому-то будет сложно понять, что же происходит на самом деле.
Знания нужно выражать в наиболее явной форме, использование символических имен как раз таки позволяет это сделать.
Yandex
Объявления
12.06.2010, 11:41     Hook клавиатуры
Ответ Создать тему
Опции темы

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