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