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= синий).