Accueil > > > RAJOUTEZ DES RACCOURCIS CLAVIER DANS VOS PROGRAMMES !!!
RAJOUTEZ DES RACCOURCIS CLAVIER DANS VOS PROGRAMMES !!!
Information sur la source
Description
ce code permet d'intercepter les racourcis clavier _ voici un exemple qui retrouve la combinaison CTRL SHIFT A tapée au clavier _
Source
- 'Dans le Form :
- '--------------
-
- Private Sub Form_Load()
- 'on crochete le clavier pour toujours savoir ce kil sy passe
- hHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KeyboardLowLevelProc, App.hInstance, 0&)
-
- End Sub
-
- Private Sub Form_Unload(Cancel As Integer) 'quand on quitte
-
- UnhookWindowsHookEx hHook
-
- End Sub
-
- '-----------------------------------
- 'Dans un module:
- '--------------
-
- Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
- Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
- Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
- Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
- Public hHook As Long
- Public Const WH_KEYBOARD_LL = 13
- Public Const VK_RWIN = &H5B
- Public Const VK_LWIN = &H5C
- Public Type HOOKSTRUCT
- vkCode As Long
- scanCode As Long
- flags As Long
- time As Long
- dwExtraInfo As Long
- End Type
- Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
- (Destination As Any, Source As Any, ByVal Length As Long)
-
- Dim vk1 As Long
- Dim vk2 As Long
- Dim vk3 As Long
-
- Public Function KeyboardLowLevelProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
- Dim p As HOOKSTRUCT ' variable pour récupérer le vk code
- 'si idhook < 0 alors pas de traitement
- If idHook < 0 Then
- 'appeler le hook suivant
- KeyboardLowLevelProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
- Else
- 'copie la structure de lParam
- CopyMemory p, ByVal lParam, Len(p)
-
- vk1 = vk2
- vk2 = vk3
- vk3 = p.vkCode
-
-
- If vk1 = 162 And vk2 = 160 And vk3 = 65 Then MsgBox "Combinaison CTRL-SHIFT-A pressée au clavier"
- '( CTRL a le virtual key code 162
- ' SHIFT a le virtual key code 160
- ' A a le virtual key code 65 )
-
- 'appeler le hook suivant
- KeyboardLowLevelProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
- End If
- End Function
-
'Dans le Form :
'--------------
Private Sub Form_Load()
'on crochete le clavier pour toujours savoir ce kil sy passe
hHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KeyboardLowLevelProc, App.hInstance, 0&)
End Sub
Private Sub Form_Unload(Cancel As Integer) 'quand on quitte
UnhookWindowsHookEx hHook
End Sub
'-----------------------------------
'Dans un module:
'--------------
Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public hHook As Long
Public Const WH_KEYBOARD_LL = 13
Public Const VK_RWIN = &H5B
Public Const VK_LWIN = &H5C
Public Type HOOKSTRUCT
vkCode As Long
scanCode As Long
flags As Long
time As Long
dwExtraInfo As Long
End Type
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(Destination As Any, Source As Any, ByVal Length As Long)
Dim vk1 As Long
Dim vk2 As Long
Dim vk3 As Long
Public Function KeyboardLowLevelProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Dim p As HOOKSTRUCT ' variable pour récupérer le vk code
'si idhook < 0 alors pas de traitement
If idHook < 0 Then
'appeler le hook suivant
KeyboardLowLevelProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
Else
'copie la structure de lParam
CopyMemory p, ByVal lParam, Len(p)
vk1 = vk2
vk2 = vk3
vk3 = p.vkCode
If vk1 = 162 And vk2 = 160 And vk3 = 65 Then MsgBox "Combinaison CTRL-SHIFT-A pressée au clavier"
'( CTRL a le virtual key code 162
' SHIFT a le virtual key code 160
' A a le virtual key code 65 )
'appeler le hook suivant
KeyboardLowLevelProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
End If
End Function
Conclusion
voilà j'ai bricolé ça pour implémenter le racourci clavier dans un soft de capture d'écran _ comme ça je peus faire des captures d'écran par simple pression dune combinaison de touches pendant un jeu vidéo par exemple
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
BLocage raccourcis clavier [ par ezekiel95 ]
Bonjour à tous!!!Qq'un saurait il comment faire pour bloquer/reaffecter des raccourcis clavier tq ctrl+alt+sup ou ctrl++esc?Je me suis longuement rens
Raccourcis clavier => copier coller ??? [ par goldensteph ]
Est-ce que quelqu'un connait un moyen de faire un raccourcis clavier pour copier coller... (j'ai coché la case dans le menu mais ca fonctionne pas !)
Raccourcis clavier... [ par DadaPik ]
Comment faire des raccourcis clavier (Alt+F1, Alt+F2...)Je pensais que c'était avec l'événement KeyPress mais apparement non... Et ou pourrais-je trou
fenetre toujours active [ par kawa11 ]
salut,j'ai un fenetre qui reste toujours au premier plan dans laquelle des boutons sont actives par des raccourcis clavier, mais je suis obligé de cli
coller dans autre application [ par jetest ]
bsoir à tousje voudrais copier un texte d'un textbox et le coller dans une autre application, mais je ne parviens pas a coller ailleur que dans mon ap
Liste des raccourcis clavier utilisée ou test un raccourci clavier (VBA pour Word 2003) [ par Polack77 ]
Salut tout le monde. Ca roule? Moi c cool (bientôt le weekend ) Voila mon problème:
Inhibation de raccourcis clavier [ par gdu ]
Salut à tous,Comment verrouiller mon application (VB6) afin qu'un utilis
raccourci clavier et threads [ par julien__ ]
Bonjour, je suis sous vb.net 2003,je cherche à faire des raccourcis clavier disponibles dans d'autres applications... je voudrais faire tourner l'appl
[vb express] Raccourcis clavier dans windows [ par 85bmx85 ]
Bonjour tout le monde, Comme vous le savez tous il est possible dans windows d'attribuer a un programme un raccourci clavier pour pouvoir le lancer ra
raccourcis clavier personnalisables [ par 85bmx85 ]
Salut a tous, je recherche un moyen qui permettrait a l'utilisateur de choisir lui meme les raccourcis clavier permettant telle ou telle action un peu
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|