c ++ - Bagaimana cara mendeteksi jika tombol tengah ditekan?

Dec 03 2020

Apakah mungkin untuk mendeteksi jika tombol tengah ditahan di c ++? Saya melihat pertanyaan ini , tetapi tidak menyebutkan apapun tentang mendengarkan tombol kecuali tombol kiri mouse.

saya ingin

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

tapi bukannya memicu saat tombol kiri ditekan, melainkan memicu saat tombol tengah ditekan.

Jawaban

Yunnosch Dec 29 2020 at 09:51

Anda secara khusus menanyakan tentang bagaimana melakukan sesuatu untuk tombol tengah mouse yang hanya dijelaskan untuk tombol kiri mouse. (Setidaknya Anda sangat menekankan itu, meskipun saya tidak melihat bagaimana kode yang ditunjukkan dapat diterapkan ....)

Jadi ketika mencari MOUSEEVENTF_LEFTDOWNdan VK_LBUTTONsaya menemukan bahwa misalnya di sini, mereka terdaftar di antara saudara kandung yang sangat menjanjikan, terutama MOUSEEVENTF_MIDDLEDOWNdan 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

Karena Anda hanya bertanya tentang perbedaan antara kiri dan tengah, Anda harus mengatur informasi ini.