Tester l' état des touches du clavier (api)

Contenu du snippet

Permet de détecter l' état d' une ou plusieurs touches.

Source / Exemple :


A mettre dans la partie déclarations de ta feuille ou module (sur une seule ligne):

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

 

Ensuite pour connaitre l' état d' une touche tu fais:

IF getasynckeystate(touche) THEN

'Executer si la touche est pressée

ELSE

'Exécuter si la touche n' est pas pressée (facultatif)

END IF

Pour la touche on met soit son numéro, soit on utilise la constante VB correspondante (exemple: VbKeyLeft)

Conclusion :


Il est à notre que la procédure est à effectuer une fois pour chaque touche que l' on veut tester. C' est un petit défaut mais cela permet aussi de détecter l' état de plusieurs touches en même temps.

Il est aussi à noter de cette fonction est très rapide, et qu' avec une seule pression sur une touche le programme peut condidérer qu' il y en a eu plusieurs d' affilée.

A voir également

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.