Keys.MediaXXX 定数を使用して、マルチメディア キーをトラップできます。これらのキーを標準形式でトラップする例を次に示します。
Public Class Form1
Protected Overrides Function ProcessKeyMessage(ByRef m As System.Windows.Forms.Message) As Boolean
Const WM_KEYDOWN As Integer = &H100
If m.Msg = WM_KEYDOWN Then
Select Case m.WParam.ToInt32
Case Keys.MediaStop
Debug.Print("Stop")
Case Keys.MediaPlayPause
Debug.Print("PlayPause")
Case Keys.MediaNextTrack
Debug.Print("Next")
Case Keys.MediaPreviousTrack
Debug.Print("Previous")
End Select
End If
Return MyBase.ProcessKeyMessage(m)
End Function
End Class
*これは、 を使用してフォームの KeyDown() イベントでも実行できますe.KeyData
。
編集: フォームの KeyDown() イベントを使用する例を次に示します。KeyPreview(); を有効にしたことに注意してください。フォーム上にフォーカスを受け取ることができるコントロールがある場合、これを行う必要があります。
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Sub
Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyData
Case Keys.MediaStop
Debug.Print("Stop")
Case Keys.MediaPlayPause
Debug.Print("PlayPause")
Case Keys.MediaNextTrack
Debug.Print("Next")
Case Keys.MediaPreviousTrack
Debug.Print("Previous")
End Select
End Sub
End Class