HOOK 鼠标钩子

鼠标事件回调函数声明:

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);

猜你喜欢

转载自blog.csdn.net/u012156872/article/details/105215855
今日推荐