Intercepter les message COPIER COLLER de notepad (hook ?)

cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012 - 21 avril 2012 à 11:12
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 21 avril 2012 à 14:31
Bonjour,

Je cherche le moyen d'intercepter les messages (WM_*) COPIER/COLLER transmis au bloc-note windows. En clair, au moment où l'utilisateur fait un CTRL+C ou CTRL+V, mon app vb6 devrait en être averti, pouvoir manipuler la chaîne et la re-poster.

Je sais qu'il y a moyen de le faire vulgairement en espionnant le clavier mais je souhaiterai vraiment intercepter les message que le bloc-notes reçoit. Selon moi il s'agit de faire un hook.

Avez vous un exemple ou même des pistes ? Je bosse en VB6 sur win7.

merci

4 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
21 avril 2012 à 11:23
Bonjour,
Le plus simple me parait utiliser la fonction RegisterHotkey (dans ton appli, qui doit être en cours d'utilisation)
Si l'utilisateur utilise ce raccourci-clavier ===>> Sub dans laquelle tu regardes si le bloc-notes est ouvert et a le focus et si oui ===>> message et décisions que tu veux. Pas besoin de "hooker" quoi que ce soit.
Tu pourrais ainsi même, dans tes instructions, vider le presse-papier s'il a fait un CTRL-C.
Mais tu ne parles étrangement que des touches CTRL+C et CTRL+V. Quid s'il le fait à la souris ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
21 avril 2012 à 11:35
J'ai parlé de la souris et ai oublié d'autres possibilités, depuis NotePad même
Si tu veux empêcher les copier-coller d'un ou de plusieurs documents txt, va falloir penser à autre chose.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
21 avril 2012 à 13:53
ucfoutu> Le problème est que RegisterHotkey capture et intercepte complètement la touche, elle n'est plus renvoyée a l'appli (ici notepad) et puis comme tu dis l'utilisateur peut faire un EDITION|COLLER...

De mon coté j'ai réussi a installer un hook sur le blocnote via une dll trouvé sur cppfrance depuis vb6 mais le problème est que je vois bien les message excepter WM_PASTE, qui n'est jamais appelé meme quand je fais un CTRL + V ?

> je cherche, si quelqu'un a d'autres pistes
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
21 avril 2012 à 14:31
Excuse-moi, mais :
1) quand est définie CTRLO+C par RegisterHotkey, il est extrêmement simple de déclencher une action lorsque sont frappés CTRL+C ! ou alors, tu n'en as rien compris
2) cela n'empêchera pas que la copie pourra toujours se faire autrement que par CTRL+C
3) je ne connais (ni ne vois) pas d'autre méthode, pour empêcher ce que tu veux empêcher, que de "regarder" sans cesse (timer) si le presse-papier contient quelque-chose et d'en effacer le contenu.
On aimerait bien voir le code que tu as tenté, que ce soit d'une manière ou de l'autre, hein ..., en nous montrant où tu bloques.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Rejoignez-nous