0

我希望在单击鼠标时出现消息框,如何实现?鼠标点击是否像键盘按下一样具有虚拟键代码?我是否还需要将 lparam 与 MouseHookStruct 一起使用,请帮助我使用回调函数。当我单击鼠标时没有任何反应。

#ifdef __WIN32
#include<windows.h>

HHOOK __hook;

MOUSEHOOKSTRUCT mouseHookStruct;

KBDLLHOOKSTRUCT keyboardHookStruct;

LRESULT __stdcall HookCallBack(int nCode, WPARAM wparam, LPARAM lparam){

    if(nCode >= 0){

        if(wparam == WM_LBUTTONDOWN)
        {
            mouseHookStruct = *((MOUSEHOOKSTRUCT*) lparam);
            MessageBox(NULL, "left button", "left button", MB_ICONINFORMATION);
        }
        if(wparam == WM_RBUTTONDOWN){
            mouseHookStruct = *((MOUSEHOOKSTRUCT*) lparam);
            MessageBox(NULL, "left button", "left button", MB_ICONINFORMATION); 
        }
    }

    return CallNextHookEx(__hook, nCode, wparam, lparam);
}


void startHook(){

    __hook = SetWindowsHookEx(WH_MOUSE_LL , HookCallBack , NULL , 0);

}

void releaseHook(){
    UnhookWindowsHookEx(__hook);
}
void main(){
 startHook();
}
#endif
4

0 回答 0