#include <windows.h>#include <stdio.h>#include "hook.h"
HINSTANCE hInst;HHOOK hHook;
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD dwReason, LPVOID lpReserved){ switch (dwReason) { case DLL_PROCESS_ATTACH: hInst = hInstDLL; hHook = NULL; break; } return TRUE;}
BOOL DllSetHook(){ if (hHook != NULL) { return FALSE; } hHook = SetWindowsHookEx(WH_CALLWNDPROC, MyHookProc, hInst, 0);
if(hHook == NULL) { return FALSE; } return TRUE;}
BOOL DllUnSetHook(){ BOOL ret = TRUE; ret = UnhookWindowsHookEx(hHook);
if(ret == FALSE) { return FALSE; } hHook = NULL; return TRUE;}
LRESULT CALLBACK MyHookProc(int nCode, WPARAM wParam, LPARAM lParam){ DWORD dwThreadID = (DWORD)wParam; LPCWPSTRUCT pCwpStruct = LPCWPSTRUCT(lParam);
if (pCwpStruct->message WM_MOUSEMOVE && pCwpStruct->message <= WM_MBUTTONDBLCLK) { //do something~ } return CallNextHookEx(NULL, nCode, wParam, lParam);
}
