建立一個標準的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 ;
}