MultiMedia-Tasten unter Windows ab w2k
Verfasst: 04.03.2011 09:34
Bei der Suche nach Möglichkeiten zum abfragen der MM-Tasten, bin ich leider nur auf
"nicht bei jedem" funktionierenden Code gestoßen. Also MSDN gestöbert und gefunden.
Vielleicht kann es ja jemand brauchen:
PS: Browse-Tasten sind hier nicht bei, dafür bitte in der MSDN nachschlagen:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
"nicht bei jedem" funktionierenden Code gestoßen. Also MSDN gestöbert und gefunden.
Vielleicht kann es ja jemand brauchen:
Code: Alles auswählen
EnableExplicit
Enumeration
#APPCOMMAND_VOLUME_MUTE = 8
#APPCOMMAND_VOLUME_DOWN
#APPCOMMAND_VOLUME_UP
#APPCOMMAND_MEDIA_NEXTTRACK
#APPCOMMAND_MEDIA_PREVIOUSTRACK
#APPCOMMAND_MEDIA_STOP
#APPCOMMAND_MEDIA_PLAY_PAUSE
#APPCOMMAND_MEDIA_PLAY = 46
#APPCOMMAND_MEDIA_PAUSE
#APPCOMMAND_MEDIA_RECORD
#APPCOMMAND_MEDIA_FAST_FORWARD
#APPCOMMAND_MEDIA_REWIND
#APPCOMMAND_MEDIA_CHANNEL_UP
#APPCOMMAND_MEDIA_CHANNEL_DOWN
EndEnumeration
Procedure WinCB(hWnd, uMsg, wParam, lParam)
Protected Result = #PB_ProcessPureBasicEvents
Protected text.s
Select uMsg
Case #WM_APPCOMMAND
Select (lParam >> 16) & $FFFF
Case #APPCOMMAND_VOLUME_MUTE
text = "Volume_Mute"
Case #APPCOMMAND_VOLUME_DOWN
text = "Volume_Down"
Case #APPCOMMAND_VOLUME_UP
text = "Volume_Up"
Case #APPCOMMAND_MEDIA_NEXTTRACK
text = "Media_NextTrack"
Case #APPCOMMAND_MEDIA_PREVIOUSTRACK
text = "Media_PreviousTrack"
Case #APPCOMMAND_MEDIA_STOP
text = "Media_Stop"
Case #APPCOMMAND_MEDIA_PLAY_PAUSE
text = "Media_Play_Pause"
Case #APPCOMMAND_MEDIA_RECORD
text = "Media_Record"
Case #APPCOMMAND_MEDIA_PLAY
text = "Media_Play"
Case #APPCOMMAND_MEDIA_FAST_FORWARD
text = "Media_Fast_Forward"
Case #APPCOMMAND_MEDIA_REWIND
text = "Media_Rewind"
Case #APPCOMMAND_MEDIA_CHANNEL_DOWN
text = "Media_Channel_Down"
Case #APPCOMMAND_MEDIA_CHANNEL_UP
text = "Media_Channel_Up"
EndSelect
Debug text
ProcedureReturn #True; ansonsten geht die Message weiter und weitere Player reagieren ;)
EndSelect
ProcedureReturn Result
EndProcedure
OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "")
SetWindowCallback(@WinCB())
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow : Break
EndSelect
ForEver
http://msdn.microsoft.com/en-us/library ... 85%29.aspx