Probème avec "GetAsyncKeyState" et "GetKeyState" (VBA Word Office 2003) [Résolu]

Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
- - Dernière réponse : Polack77
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
- 23 mai 2006 à 10:02
    Voila, je veut faire une procèdure qui me permete de recup les touche taper au clavier simultanémant.
Soit avoir comme retour de fonction :
    -> "<Ctrl> + <W>" 'Par exemple

Je n'ai jamais fait ce genre de "truc" donc pour tester j'ai fait cette procédure (j'ai mit mes déclaration de fonction avec):
'-----------------------
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function GetKeyState Lib "user32" (ByVal vKey As Long) As Integer

Sub test()
    For a = 0 To 256 'on scanne toute les touche du clavier
        If GetAsyncKeyState(a) <> 0 Then 'filtre si la touche consideree a ete appuiller
            Debug.Print Hex(a)
        End If
    Next
    Debug.Print "FinBoucle a"
    For a = 0 To 256 'on scanne toute les touche du clavier
        If GetKeyState(a) <> 0 Then
            Debug.Print Hex(a)
        End If
    Next
End Sub
'-----------------------

Et j'ai un retour qui me parait bizard :
1|D|10|11|23|24|25|26|28|2E|35|41|45|48|58|61|62|74|A1|A2|BC|DB

FinBoucle a

1|2|3|8|D|10|11|21|2C|32|35|36|38|42|43|44|45|47|49|4B|4C|4E|4F|51|54|59|5A|60|61|62|63|64|65|66|67|6D|6E|74|77|78|90|A0|A3|A4|A5|BC|BF|E2|F0|F3|F6|FB

J'ai mit des "|" aulieu des retour à la ligne dans un souçi d'economi de place

Merci

D'oh! Nuts!
Mmmmm...
 DONUTS
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
21 décembre 2011
3
Merci
Salut ami Polack,

un petit dernier message avant d'aller pioncer...

GetKeyState, il me semble que c'est pour vérifier si une touche est enfoncée.
Ben je confirme (je viens de le vérifier), mot pour mot :

La fonction GetKeyState retourne le status de la touche virtuelle spécifiée. Autrement dit, cette fonction permet de savoir si une touche est enfoncée (touches clavier ou boutons souris).

Si tu veux une bonne source sur les APIs, notre ami DarkSidious en a posé une : ce sont les APIs les plus souvent utilisés, avec des explications en français =>
http://www.vbfrance.com/code.aspx?ID=4514

Amuse toi bien et bon dimanche.

@ ++
Nico (ou mortalino, c'est au choix)

Dire « Merci » 3

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

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de mortalino
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
0
Merci
Bon, je crois que j'ai compris pourcois

"

GetAsyncKeyState" me renvoie toute le ligne que j'ai mit plus haut. Je crois que cette fonction me renvoie toutes les touches presser depuis la dernierre execution de "

GetAsyncKeyState". Par contre je ne comprend pas "

GetKeyState"






D'oh! Nuts!
Mmmmm...
 DONUTS
Commenter la réponse de Polack77
Messages postés
1100
Date d'inscription
mercredi 22 mars 2006
Dernière intervention
15 avril 2018
0
Merci
Merci ami Nico (ou Mortalion) pour ce lien. Il trop bien son fichier d'aide!!!
Par contre je ne trouve pas "GetAsyncKeyState". Je vais faire des testes pour comprendre plus en détaille, mais, je pense que cela fonctione comme décrit plus haut.
Je tiens au courant si j'ai plus de détaille.
De toute facon je peut faire ce que je voulait (recup les touche enfoncer du clavier) avec
"
GetKeyState".

D'oh! Nuts!
Mmmmm...
 DONUTS
Commenter la réponse de Polack77

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.