Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

HOOK CLAVIER, KEYDOWN, KEYUP, API, SIMPLE, TOUCHE, INTERRUPTION, TACHE DE FOND, SPY, ESPION


Information sur la source

Catégorie :API Niveau : Expert Date de création : 05/06/2005 Vu / téléchargé: 10 026 / 2 420

Note :
8,5 / 10 - par 8 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

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)

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de franckydeluka le 06/06/2005 10:17:17

Super tes API
source précise, claire, simple
merci
10/10

signaler à un administrateur
Commentaire de Jielde le 07/06/2005 00:25:15

C'est simpa mais à tendance à faire planter VB lorsque l'on veux modifié le code après éxécution.

signaler à un administrateur
Commentaire de salazar le 07/06/2005 09:48:39

******************************************************************************************
*       Principe de fonctionnement du HOOKING : Pour ne pas planter VB
******************************************************************************************

On détourne l'instruction qui véhicule les messages Windows, lorsque le clavier est concerné : WH_KEYBOARD_LL. On exécute notre procédure HookEtatKeyProc, puis on redonne la main à Windows pour qu'il continue à traiter les messages.

Avant de quitter l'appli, il faut sortir normalement par le bouton Fermer de l'appli, qui permet de désinstaller notre précédure, sinon -> plantage

Pour arreter l'appli, ne pas cliquer sur le bouton Stop de VB, sinon -> plantage

Ne pas mettre de point d'arret dans la procédure HookEtatKeyProc, sinon -> plantage. Utiliser le debug.print

En cours de fonctionnement, éviter de modifier le code dans la procédure HookEtatKeyProc, sinon risque de plantage.

signaler à un administrateur
Commentaire de krtr le 21/02/2006 19:49:17

Salut, et merci pour ce code.

J'aurai souhaiter savoir comment connaitre la touche enfoncé, car j'aimerai faire un programme qui tourne en tache de fond (sous un autre programme en cours d'utilisation dans mon cas) et qui emmet un son 5 secondes apres l'appui sur une touche précise.

Je vous remercie d'avance.

signaler à un administrateur
Commentaire de salazar le 21/02/2006 23:00:22

Fait un debug print sur la fonction de hoock et note la valeur de ta touche. Cette valeur est ensuite traitée lors du Case...
Ce prog fait déjà ce que tu souhaites, masi avec une combinaison précise de touche (pour l'exemple).

Bon courage ;o)

signaler à un administrateur
Commentaire de krtr le 22/02/2006 11:54:47

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.

signaler à un administrateur
Commentaire de ntm113 le 19/07/2006 00:58:32

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...

signaler à un administrateur
Commentaire de zifnig le 12/09/2006 14:12:09

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?

signaler à un administrateur
Commentaire de Rico 95 le 14/03/2007 20:24:32

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

signaler à un administrateur
Commentaire de hwoarang le 08/04/2007 22:09:36

Merci beaucoup. Je cherchais justement les évenements associés à la pression d'une touche...

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.