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

How to detect scroll wheel down on windows c++?

本文关键字:检测 Windows      更新时间:2023-10-16

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

我已经尝试了各种方法来检测鼠标滚轮事件到wParam中,使用GET_WHEEL_DELTA_WPARAMHIWORDGET_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。

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

然后使用 wParam 上的GET_WHEEL_DELTA_WPARAM宏,正表示滚轮远离用户旋转(向上),负表示朝用户旋转(向下)