vb.net MCE Удаленное обнаружение кнопки

В настоящее время я использую следующую функцию для обнаружения специальных нажатий кнопок (Play, Stop, Pause) на моем пульте MCE.

    Private Const WM_APPCOMMAND As Integer = &H319

Public Function WndProc(hwnd As IntPtr, msg As Integer, wParam As IntPtr, lParam As IntPtr, ByRef handled As Boolean) As IntPtr
    If msg = WM_APPCOMMAND Then
        Dim cmd As Integer = CInt(CUInt(lParam) >> 16 And Not &HF000)
        Select Case cmd
            Case 13 'Stop

        'Some Code

                Exit Select
            Case 47 'Pause

                 'Some Code

                Exit Select
            Case 46 'Play

                    'Some Code

                Exit Select
        End Select

        handled = True
    End If

    Return IntPtr.Zero
End Function

Я также хотел бы функциональность использования цветных кнопок, однако, когда они нажаты, они, кажется, ничего не возвращают для cmd.

Есть ли способ, которым я могу достичь этой функциональности?

1 ответ

Решение

Эти кнопки не могут быть перехвачены обычными методами (низкоуровневые системные хуки), но могут быть обнаружены с помощью RegisterRawInputDevices и поиска сообщений RAWINPUT Windows. (RAWINPUT 91= красный, 92= зеленый, 93= желтый, 94= синий).

Другие вопросы по тегам