如何在Windows C ++上向下检测滚轮?

时间:2019-01-26 21:42:55

标签: c++ windows

我正在尝试在Windows上的C ++中检测滚轮事件,但遇到了麻烦。

我尝试了多种方法,分别使用wParamGET_WHEEL_DELTA_WPARAMHIWORD检测GET_KEYSTATE_WPARAM中的鼠标滚轮事件(这给我带来了语法错误)。不知道从这里尝试什么。我猜我使用的相关方法有误,或者我没有正确准备它们。

int isScrollDown() {
    WPARAM wParam;
    GET_WHEEL_DELTA_WPARAM(wParam);
    std::cout << wParam << std::endl;
}

//inside main()
while(1) {
    if(isScrollDown()) {
        //do something
        break;
    }
    sleep(50);
}

无论我是否用鼠标做某事,它都会打印6422352。

1 个答案:

答案 0 :(得分:1)

WM_MOUSEWHEEL回调中处理LRESULT CALLBACK WindowProc( In HWND   hwnd, In UINT   uMsg, In WPARAM wParam, In LPARAM lParam );消息。

然后使用wParam上的GET_WHEEL_DELTA_WPARAM宏,正号指示方向盘远离用户旋转(向上),负号指示方向向用户旋转(向下)