首页 > 解决方案 > c++ - 我如何检测中间按钮是否被按住?

问题描述

是否可以检测到 C++ 中是否按下了中间按钮?我看到了这个问题,但除了鼠标左键之外,它没有提到任何关于监听按钮的内容。

我想

int main(){
    while (1){
        while((GetKeyState(VK_LBUTTON) & 0x100) != 0){
            mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            Sleep(10);
        }
    }
    return 0;
}

但不是在按下左键时触发,而是在按下中间键时触发。

标签: c++windows-10mouselistener

解决方案


您特别询问如何为鼠标中键执行某些操作,您只发现对鼠标左键进行了解释。(至少你非常强调这一点,虽然我不明白显示的代码是如何适用的......)

因此,当我搜索MOUSEEVENTF_LEFTDOWNand时,VK_LBUTTON我发现例如在这里,它们被列在非常有前途的兄弟姐妹中,尤其是MOUSEEVENTF_MIDDLEDOWNand VK_MBUTTON

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-mouse_event
https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key -代码

由于您只询问左侧和中间之间的区别,因此您应该使用此信息进行设置。


推荐阅读