Hook clavier, keydown, keyup, api, simple, touche, interruption, tache de fond, spy, espion

Soyez le premier à donner votre avis sur cette source.

Vue 14 272 fois - Téléchargée 2 868 fois

Description

Ce code est très simple et permet de détecter dès qu'une touche clavier est enfoncée ou levée.

Il détecte également les touches combinées (shift + ...). Il n'affiche pas la lettre de la touche enfoncée (car je n'en ai pas besoin).

Il peut etre lancé en tache de fond, sans avoir le focus.

Il pourra vous servir de base pour etre évolué. Si vous l'améliorez, vos sources m'interrèssent ;o)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
18
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
27 juin 2008

Merci beaucoup. Je cherchais justement les évenements associés à la pression d'une touche...
Messages postés
18
Date d'inscription
mardi 13 mars 2007
Statut
Membre
Dernière intervention
21 mai 2008

Salut,

Ce code me paraît très intéressant...

Par contre j'ai du mal à comprendre quels sont les arguments que je doit utiliser en entrer pour faire tourner cette fonction

Merci d'avance

Rico
Messages postés
16
Date d'inscription
vendredi 10 septembre 2004
Statut
Membre
Dernière intervention
28 mai 2007

Salut,

Je cherche à faire un soft qui permettrait de remplacer une touche tapée au clavier par une autre avant qu'elle soit transmise à l'application active. Y a-t-il une solution en VB?
Messages postés
12
Date d'inscription
dimanche 19 octobre 2003
Statut
Membre
Dernière intervention
20 juillet 2006

Bonne idée ce code, mais la fonction HookEtatKeyProc est gérée de façon très approximative.

L'argument lParam se récupère ByRef et son type est KBDLLHOOKSTRUCT dont voici la définition :

Type KBDLLHOOKSTRUCT
vkCode As Long
scanCode As Long
flags As Long
time As Long
dwExtraInfo As Long
End Type

Le code de la touche concernée se trouve dans lParam.vkCode, donc pour tester s'il s'agit de la touche "S" il faut faire :
If lParam.vkCode = asc("S")...
ou bien
If lParam.vkCode = vbKeyS...
Messages postés
2
Date d'inscription
mardi 21 février 2006
Statut
Membre
Dernière intervention
22 février 2006

Merci pour ta reponse, mais je vien de tester et c'est toujours le meme code qui apparait avec differentes touches, alors si vous pouviez m'aiguiller un peu sur la variable contenant le code de la touche ce serait sympa. A mon avis je ne dois pas faire ce qu'il faut mais bon...

Merci encore.
Afficher les 10 commentaires

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.