BOOL WINAPI DllMain (HINSTANCE hInstance, DWORD ul_reason_for_call, LPVOID lpReserved) { switch(ul_reason_for_call){ case DLL_PROCESS_ATTACH: g_hDll=hInstance; break; case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; }
DllExport void CALLBACK MouseHookInstall(void) { if ( g_hDll == NULL ) return; g_hHookMouseWnd = SetWindowsHookEx(WH_MOUSE_LL,(HOOKPROC)MouseProc, g_hDll, 0 ); if ( g_hHookMouseWnd == NULL){ } else { } }
LRESULT CALLBACK MouseProc(int nCode,WPARAM wParam,LPARAM lParam) { if (nCode > 0) { return CallNextHookEx(g_hHookMouseWnd, nCode, wParam, lParam); } MSLLHOOKSTRUCT * lp = (MSLLHOOKSTRUCT *)lParam; if( nCode == HC_ACTION ){ char cMsg[1024]; switch (wParam){ case WM_XBUTTONDOWN: } break; } } }