鼠标事件回调函数声明:
LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode == HC_ACTION)
{
if (wParam == WM_LBUTTONDOWN)
{
// TODO
POINT point;
::GetCursourPos(&point);
HWND hWnd = ::WindowFromPoint(point);
if (hWnd == hHookWnd)
{
return TRUE;// 拦截鼠标单击消息
}
}
}
return ::CallNextHookEx(hMouseHook, nCode, wParam, lParam); // 消息传递,否则鼠标失去控制
}
注册鼠标钩子回调函数:
HHOOK hMouseHook = ::SetWindowsHookEx(WM_HOUSE_LL, MouseHookProc, NULL, 0);
卸载钩子:
::UnhookWindowsHookEx(hMousehook);