c ++-真ん中のボタンが押されているかどうかをどのように検出しますか?

Dec 03 2020

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;
}

ただし、左ボタンが押されたときにトリガーするのではなく、中央のボタンが押されたときにトリガーします。

回答

Yunnosch Dec 29 2020 at 09:51

あなたは特に、マウスの左ボタンについてのみ説明されていることがわかったマウスの中ボタンに対して何かを行う方法について質問しています。(少なくとも、表示されているコードがどのように適用できるかはわかりませんが、非常に強調します。...)

したがって、検索してMOUSEEVENTF_LEFTDOWNVK_LBUTTONたとえばここで、それらは非常に有望な兄弟、特にMOUSEEVENTF_MIDDLEDOWNとにリストされていることがわかりました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-codes

左と真ん中の違いだけを聞いているので、この情報を設定する必要があります。