1. 程式人生 > >QT實現滑鼠鉤子

QT實現滑鼠鉤子

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);//註冊滑鼠鉤子
}
目前實現不能用滑鼠及全屏不能動