Visual basic, Créer un raccourci clavier

Fermé
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - Modifié par kikou93 le 31/07/2016 à 15:43
Bonjour,

Je demande encore une fois votre aide

J'ai fait beaucoup de recherche est j'ai finalement trouvé se que je cherche, voici le code :

Imports System.Runtime.InteropServices
Public Class Form3
<DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function RegisterHotKey(ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As UInteger, ByVal vk As UInteger) As <MarshalAs(UnmanagedType.Bool)> Boolean
End Function
Enum Options
Ctrl = &H2
Alt = &H1
Shift = &H4
Windows = &H8
End Enum
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = 786 Then
PictureBox1.BackColor = Color.Violet
End If
MyBase.WndProc(m)
End Sub
Sub RegisterKey(ByVal Options As Options, ByVal Key As Keys)
RegisterHotKey(Me.Handle, 1, Options, CUInt(Key))
End Sub
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RegisterKey(Options.Ctrl, Keys.V)
End Sub
End Class

Ce code permet de créer un raccourci clavier pour la forme, et ce raccourci peut être utilisé même si la forme n'est pas sélectionner

Le problème est que ça marche pour tous les autres combinaisons (par exemples : Ctrl +V , Ctrl + C, Alt + B ... etc), mais pas avec les combinaisons qui contient la touche Windows (par exemple : Windows + D)

Aidez-moi s'il vous plait pour résoudre ce problème

Merci d'avance pour votre aide




Comment ça marche c'est cool! 
      1000 Merci les Amis
A voir également: