Prog avec appui sur plusieurs touches du clavier [Résolu]

Messages postés
8
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
27 juin 2006
- - Dernière réponse : Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
31 mars 2015
- 27 juin 2006 à 20:32
bonjour a tous !!!

je suis entrain de faire un projet de fin d'année, et j'aimerais commander un robot a distance avec plusieurs fleches( par exemple avancer a droite, reculer a gauche)
toute la partie liaison a distance et protocole de com est deja fait, il me mank juste le pti bou de prog pour envoyer une info lorske j'appuie sur plusieur touche en meme tps, mais seulemen ken g plusieur touches

dc j'aimerai savoir si kelkun sais commen generer du code seuelemen apres appui sur plusieur touches du clavier
merci d'avance
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
31 mars 2015
17
3
Merci
pour plusieurs touches en même temps, il faut les Api's

et un Timer.


Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub Timer1_Timer()

    Dim i As Integer

    If GetAsyncKeyState(37) < 0 Then i = i + 1

    If GetAsyncKeyState(38) < 0 Then i = i + 2

    If GetAsyncKeyState(39) < 0 Then i = i + 4

    If GetAsyncKeyState(40) < 0 Then i = i + 8

    If i = 3 Then

       Me.Caption = "Gauche + Haut"

       End If

    If i = 5 Then

       Me.Caption = "Gauche + Droite"

       End If

    If i = 7 Then

       Me.Caption = "Gauche + Haut + Droite"

       End If

End Sub

Daniel

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 210 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
31 mars 2015
17
0
Merci
Salut,

regarde du côté des APi, toutes les touches en même temps ou une seule à la fois:

    GetKeyboardState, GetAsyncKeyState

Daniel
Commenter la réponse de Gobillot
Messages postés
8
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
27 juin 2006
0
Merci
j'ai essayé de chercher cke tu m'a conseillé mais je trouve pas.
En fait, moi j'avai la solution du select case utilisé ds la procedure keydown, mais j'arrive a le faire fonctionner unikemen pour une seule touche
Commenter la réponse de cs_BAO22
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
31 mars 2015
17
0
Merci
pour les touches du clavier, tu peux utiliser KeyDown

ainsi que la valeur de Shift:

   1=Majuscule, 2=Ctrl, 4 = Alt

avec les combinaisons possibles:

   3=Majuscule + Ctrl

   6=Alt + Ctrl


Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

    Select Case KeyCode

        Case 37: ' flèche à gauche

        Case 38: ' flèche en haut

        Case 39: ' flèche à droite

        Case 40: ' flèche en bas

        End Select

End Sub

Daniel
Commenter la réponse de Gobillot