Intercepter les message COPIER COLLER de notepad (hook ?)

Signaler
Messages postés
362
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
24 août 2012
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
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
Messages postés
362
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
24 août 2012

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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
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