建立一个标准的win32 DLL就可以了。
#define Dll_Export extern "C" _declspec(dllexport)
//该DLL的应用实例对象
HINSTANCE instance = NULL;
Dll_Export HHOOK WINAPI SetHook(int hookType,HOOKPROC hookproc) ;
Dll_Export BOOL UnHook(HHOOK hook) ;
//DLL入口,获取实例对象
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
instance = hModule;
return TRUE;
}
//调用函数,用于设置一个HOOK,到HOOK链
Dll_Export HHOOK WINAPI SetHook(int hookType,HOOKPROC hookproc)
{
return SetWindowsHookEx(hookType, hookproc, instance, NULL);
}
//取消一个hook
Dll_Export BOOL UnHook(HHOOK hook)
{
if (hook != NULL)
return UnhookWindowsHookEx(hook);
else
return 0 ;
}