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

Signaler
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
-
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
-
    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

3 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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)
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

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
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

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