Comment savoir si une touche clavier est active

Résolu
morickno Messages postés 117 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 26 juin 2007 - 2 mars 2007 à 15:45
morickno Messages postés 117 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 26 juin 2007 - 2 mars 2007 à 17:11
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

Utilisateur anonyme
2 mars 2007 à 15:59
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
3
Utilisateur anonyme
2 mars 2007 à 15:52
Salut,

Voir l'api GetKeyState :

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






__________
Kenji
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
2 mars 2007 à 15:54
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 .
0
morickno Messages postés 117 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 26 juin 2007
2 mars 2007 à 17:11
Génial, ca fonctionne et c'est un instruction très simple à utiliser.

Merci
0
Rejoignez-nous