Capter un évènement clavier avec GetAsyncKeyState et ne pas l'envoyer à Windows

Résolu
chtibob69 Messages postés 12 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 16 janvier 2010 - 30 mars 2007 à 10:24
chtibob69 Messages postés 12 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 16 janvier 2010 - 2 avril 2007 à 18:07
Bonjour à tous
Dans le cadre d'un stage je developpe une application travaillant avec une télécommande
Cette télécommande envoi des code clavier standart que je peux interpreter via l' API GetAsyncKeystate
J'ai repris le code de base d'un keylogger disponible sur le site et l'application tourne donc en arriere plan et capte bien les informations de la télécommande.

Le problème est le suivant :    Peut on capter l'évènement et faire en sorte qu'il n'arrive pas jusqu'à Windows ?
    En effet, si on ouvre par exemple un editeur de texte, la touche pressé s'affiche dans l'éditeur (normal).
    Mais je voudrai que seul mon appli la capte et que rien n'aille jusqu'à l'éditeur.
    Je suis d'accord sur le fait que ça désactivera certaine touche du clavier, mais dans le cadre de l'application, cela ne pose aucun soucis. D'autant qu'il suffira de désactiver l'application dans le systray pour ravoir accès à toute les touches ;-)

Sur une form classique, sur un evenement onKeyPress on peut annuler la touche saisie, et je voudrais faire rigoureusement la même chose

D'avance merci

Sébastien

4 réponses

BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
30 mars 2007 à 12:16
L'event EST DEJA arrivé à Windows puisque c'est lui qui te le transmet, ce que tu veux éviter c'est qu'il le retransmettre au prog ayant le focus.
Regarde s'il y a exemple de HOOK CLAVIER dans les sources.

ciao...
BruNews, MVP VC++
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 mars 2007 à 12:27
faire un Hook WH_GETMESSAGE
http://www.cppfrance.com/codes/HOOK-DLL-HOOK-FACILE-POUR-VB6_41774.aspx

m'en sers pour e boulot, fonctionne nikel

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 mars 2007 à 12:28
oupps, pas vu que tu es en .NET....

doit fonctionner quand même ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
chtibob69 Messages postés 12 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 16 janvier 2010
2 avril 2007 à 18:07
Bravo et merci pour vos réponses
Effectivement il a fallu orienté ma recherche sur le problème du Hook Clavier et nottament cette page http://www.codeguru.com/vb/gen/vb_system/keyboard/article.php/c4831/

C'est parfait
0