System-wide hook(WH_KEYBOARD)
Программа работает стандартно, то есть все (за исключением неявного подключения 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);
}
____________________
Заранее спасибо.