Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

System-wide hook(WH_KEYBOARD)

365
23 февраля 2003 года
MasterSID
230 / / 23.02.2003
Я написал systemwide hook, который ловит нажатия клавиатуры, теперь мне нужно сделать так, чтобы конкретные кнопки (например, А) или комбинации (например, CTRL+F5) были недоступны другим приложениям. Как я понял, нужно удалять мессагу, да? А как это сделать?
Программа работает стандартно, то есть все (за исключением неявного подключения Dll) как в MSDN'е:
Проект DllUser, на стадии своей инициализации, вызывает функцию InstallKeyHook из библиотеки KeyDll. Файл KeyDll подключен к DllUser неявно.
В данном коде нужно сделать так, чтобы нажатия кнопки Enter(13) обрабатывала только данная программа.
А вот сама KeyDll:
_________________________
#include "stdafx.h"

#ifdef DLLWIZ_EXPORTS
#define DLLWIZ_API __declspec(dllexport)
#else
#define DLLWIZ_API __declspec(dllimport)
#endif

DLLWIZ_API void InstallKeyHook();
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam);
HHOOK hhook;
HINSTANCE hInst;

BOOL APIENTRY DllMain(HINSTANCE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
hInst = hModule;
return TRUE;
}

DLLWIZ_API void InstallKeyHook()
{
hhook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, hInst, 0);
}

LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (wParam == 13)
MessageBox(0, "Yo", "Yo", 0);

return CallNextHookEx(hhook, nCode, wParam, lParam);

}

____________________

Заранее спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог