c ++ - Jak mogę wykryć, czy środkowy przycisk jest wciśnięty?

Dec 03 2020

Czy można wykryć, czy środkowy przycisk jest przytrzymywany w C ++? Widziałem to pytanie, ale nic nie wspominało o nasłuchiwaniu przycisków poza lewym przyciskiem myszy.

chcę

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

ale zamiast wyzwalania po naciśnięciu lewego przycisku, wyzwalania po naciśnięciu środkowego przycisku.

Odpowiedzi

Yunnosch Dec 29 2020 at 09:51

Pytasz konkretnie, jak zrobić coś dla środkowego przycisku myszy, co zostało wyjaśnione tylko dla lewego przycisku myszy. (Przynajmniej to bardzo podkreślasz, chociaż nie widzę, jak można zastosować pokazany kod ...)

Szukając więc MOUSEEVENTF_LEFTDOWNi VK_LBUTTONstwierdziłem, że np. Tutaj są one wymienione wśród bardzo obiecującego rodzeństwa, MOUSEEVENTF_MIDDLEDOWNa szczególnie i 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

Ponieważ pytasz tylko o różnicę między lewą a środkową stroną, powinieneś mieć te informacje.