1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
<DllImport("user32.dll")>
Public Shared Function RegisterHotKey(ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifier As Integer, ByVal vlc As Integer) As Boolean
End Function
<DllImport("user32.dll")>
Public Shared Function UnregisterHotKey(ByVal hWnd As IntPtr, ByVal id As Integer) As Boolean
End Function
'Public Const ALT As Integer = 1
'Public Const CTRL As Integer = 2
'Public Const SHIFT As Integer = 4
'Public Const WIN As Integer = 8
Public Const HK_MSG_ID As Integer = &H312
Public Sub initHotKey()
RegisterHotKey(Me.Handle, 100, 0, Keys.VolumeDown)
RegisterHotKey(Me.Handle, 200, 0, Keys.VolumeUp)
RegisterHotKey(Me.Handle, 300, 0, Keys.VolumeMute)
End Sub
Public Sub releaseHotkey()
UnregisterHotKey(Me.Handle, 100)
UnregisterHotKey(Me.Handle, 200)
UnregisterHotKey(Me.Handle, 300)
End Sub
Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated
initHotKey()
End Sub
Private Sub Form1_Deactivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Deactivate
releaseHotkey()
End Sub
Private Sub Mainform_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
releaseHotkey()
End Sub
Private Sub Mainform_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
initHotKey()
End Sub
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = HK_MSG_ID Then
Dim id As IntPtr = m.WParam
Select Case (id.ToString)
Case "100"
' code pour VolUmeDown
Case "200"
' code pour VolUmeUp
Case "300"
' code pour VolUmeMute
End Select
End If
MyBase.WndProc(m)
End Sub |
Partager