Comment savoir si une touche clavier est active [Résolu]

Signaler
Messages postés
117
Date d'inscription
vendredi 22 avril 2005
Statut
Membre
Dernière intervention
26 juin 2007
-
morickno
Messages postés
117
Date d'inscription
vendredi 22 avril 2005
Statut
Membre
Dernière intervention
26 juin 2007
-
Bonjour,

Je veux savoir si une touche clavier est active. Je ne veux pas gérer l'evenment relatif à l'appuie sur une touche du clavier mais bien tester à tous moment si une touche clavier spécifiée est appuyé. Exemple dans un code, si la touche Ctrl est appui je fait ca sinon je fait autre chose.

Quel instruction me permet d'avoir cette information.

Merci pour le renseignement

4 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
28
Arf, c'est du dotnet.

Donc,
If System.Windows.Forms.Control.ModifierKeys = System.Windows.Forms.Keys.Control Then
   [...]
End If

Et ca marche même si ton application n'a pas le focus




__________
Kenji
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
28
Salut,

Voir l'api GetKeyState :

http://docvb.free.fr/apidetail.php?idapi=160






__________
Kenji
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
20
Bonjour,
Si VB.Net fait (et je veux le croire) ce que sait faire VB6,
il te suffit d'utiliser l'événement keydown de ta form ! (avec sa propriété Keypreview = true), pour les touches utilisées alors que ta Form a le focus.
S'il s'agit par contre de le faire même lorsque ta Form n'a pas le focus : utilisation de la fonction GetAsyncKeystate de la librairie User32 de  l'Api de Windows, avec (bien évidemment) un timer.... Les exemples ne semblent pas manquer .
Messages postés
117
Date d'inscription
vendredi 22 avril 2005
Statut
Membre
Dernière intervention
26 juin 2007

Génial, ca fonctionne et c'est un instruction très simple à utiliser.

Merci