c ++ - Comment détecterais-je si le bouton du milieu est maintenu enfoncé?

Dec 03 2020

Est-il possible de détecter si le bouton du milieu est maintenu enfoncé en C ++? J'ai vu cette question, mais elle ne mentionnait rien sur l'écoute des boutons à l'exception du bouton gauche de la souris.

Je voudrais

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

mais au lieu de déclencher lorsque le bouton gauche est enfoncé, de déclencher lorsque le bouton du milieu est enfoncé.

Réponses

Yunnosch Dec 29 2020 at 09:51

Vous demandez spécifiquement comment faire quelque chose pour le bouton central de la souris que vous n'avez trouvé expliqué que pour le bouton gauche de la souris. (Au moins vous insistez beaucoup là-dessus, même si je ne vois pas comment le code affiché est applicable ....)

Ainsi, lors de la recherche MOUSEEVENTF_LEFTDOWNet VK_LBUTTONj'ai trouvé que par exemple ici, ils sont répertoriés parmi les frères et sœurs très prometteurs, en particulier MOUSEEVENTF_MIDDLEDOWNet 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

Étant donné que vous ne demandez que la différence entre la gauche et le milieu, vous devez être configuré avec ces informations.