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

Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 17 mai 2006 à 12:11 - Dernière réponse : Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention
- 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
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 21 mai 2006 à 05:42
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)

Merci mortalino 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de mortalino
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 17 mai 2006 à 13:19
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
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 23 mai 2006 à 10:02
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.