Intercepter une saisi puis la remplacer

Résolu
cs_Mamelook Messages postés 48 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 27 juillet 2008 - 2 sept. 2007 à 23:19
cs_Mamelook Messages postés 48 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 27 juillet 2008 - 4 sept. 2007 à 17:58
Bonjour,
Comment fait on pour faire un programme qui intercepte une saisie pour remplacer par une autre ?
Voici un exemple de ce que je voudrai réaliser :
http://glandeclub.free.fr/logiciel/interlligentwordpad.zip

Je voudrai faire pareil mais en interceptant les touche (hook clavier).

Merci pour votre aide
++

9 réponses

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
4 sept. 2007 à 04:47
Je viens de poster le code source:
http://www.cppfrance.com/code.aspx?ID=43964
3
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
2 sept. 2007 à 23:44
Je n'ai pas regardé ton lien mais
si c'est pour faire ça dans une application dont tu as le controle (pas de hook clavier), y'a les messages correspondants :
WM_CHAR
WM_KEYDOWN
ect...
dans la window proc, tu récupère le HWND du textBox et tu remplaces ce que tu veux.
0
cs_Mamelook Messages postés 48 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 27 juillet 2008
2 sept. 2007 à 23:46
Oui, le lien que j'ai mi c'est comme sa.
Moi je voudrai que ce soit pour toute les touches
Je voudrai de cette sorte réaliser un faut virus qui passe le message en boucle : "Tu t'est fait avoir ;)" (pour l'envoyer a un pote)
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
3 sept. 2007 à 01:36
Salut,
Je viens de tester le prog du lien. Tu peux faire beaucoup mieux avec un hook de type WH_GETMESSAGE. Dans la procédure de hook,  lParam fournit un pointeur sur une structure MSG. Tu récupères le message WM_CHAR dans le membre message et le code de la touche appuyée dans le membre wParam de cette structure.  Tu peux modifier ce code en y mettant ce que tu veux. Pour que le hook fonctionne avec toutes les applications, il faut mettre la fonction de hook dans une DLL externe.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Mamelook Messages postés 48 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 27 juillet 2008
3 sept. 2007 à 02:49
Il ni a pas moyen d'utiliser cette source pour arriver a mes fin ? :
http://www.cppfrance.com/codes/HOOK-GLOBAL-SANS-DLL_27169.aspx

Je suppose qu'il y a un truc a modifier dans cette fonction :
// Renvoi des messages au sytème pour permettre d'autres hooks
return CallNextHookEx(hHook, nCode, wParam, lParam);

Je vais me renseigner sur MSDN
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
3 sept. 2007 à 04:31
Je ne pense pas que ce soit possible avec un hook clavier. Il parait qu'il est interdit  de modifier le code de la touche tapée. Avec un hook WH_GETMESSAGE, il est possible de modifier le code du caratère tapé sans problème.
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
3 sept. 2007 à 15:49
Je viens de penser à un truc. Dans la procédure de hook clavier, on peut essayer d'utiliser la fonction SendInput() ou keybd_event() pour simuler l'appui sur une touche différente de celle capturée dans le hook. Il faudra faire des tests pour voir ce que ça donnera.
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
3 sept. 2007 à 16:34
J'ai fait un petit test et ça marche. Je vais améliorer le code avant de le poster.
.
0
cs_Mamelook Messages postés 48 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 27 juillet 2008
4 sept. 2007 à 17:58
Merci c'est exactement se que je cherchais, je vai aller étudier sa !
0
Rejoignez-nous