QT实现鼠标钩子(使用SetWindowsHookEx安装mouseProc函数)

HHOOK mouseHook=NULL;
LRESULT CALLBACK mouseProc(int nCode,WPARAM wParam,LPARAM lParam )
{
    if(nCode == HC_ACTION) //当nCode等于HC_ACTION时,要求得到处理
    {
       if(wParam==WM_MOUSEWHEEL//屏蔽滑轮
        ||wParam==WM_RBUTTONDOWN//屏蔽鼠标右键按下
        ||wParam==WM_LBUTTONDOWN//屏蔽鼠标左键按下
        ||wParam==WM_RBUTTONUP//屏蔽鼠标右键弹起的消息
        ||wParam==WM_LBUTTONUP//屏蔽鼠标左键弹起的消息
        ||wParam==WM_MOUSEMOVE)//屏蔽鼠标的移动
       {
        return true;//如果是这些事件产生的话,就返回真,即屏蔽掉这些事件,也就是安装有同类型的其他钩子,捕获不到同样的事件
       }
    }
    return CallNextHookEx(mouseHook,nCode,wParam,lParam);//否则,如果返回给下一个钩子子程处理
}
void MainWindow::on_pushButton_4_clicked()
{
     mouseHook =SetWindowsHookEx( WH_MOUSE_LL,mouseProc,Mousehinstance,0);//注册鼠标钩子
}

https://blog.csdn.net/qq_34389528/article/details/76284124

原文地址:https://www.cnblogs.com/findumars/p/4982599.html