Récupérer les messages d'une autre application - C++ - Programmation
Marsh Posté le 17-06-2003 à 13:56:59
ReplyMarsh Posté le 17-06-2003 à 13:59:41
HelloWorld a écrit : Faire un hook. |
+1
Un hook éloigné si possible, ce qui signifie que tu devras le placer dans une dll
Marsh Posté le 17-06-2003 à 14:05:12
Etant donné qu'il ne hook pas son appli, je crois même qu'il est obligatoire de placer son code dans une dll.
Y'a peut être d'autres possibilités ... notamment, je me suis toujours demandé ce qu'on pouvait faire avec CreateRemoteThread.
Peut être que tu peut subclasser la fenêtre aussi. Je sais que tu peux pas subclasser en tappant directement dans la classe d'un autre process, mais je crois qu'un SetWindowLong sur une fenêtre ne t'appartenant pas, ca marche. Si ca marche, ce sera + simple.
Marsh Posté le 17-06-2003 à 18:16:59
Hum un hook....En principe je sais ce que c'est, mais pour le mettre en oeuvre...A pas plus simple ? C'est vraiment tout con ce que je veux faire...
Marsh Posté le 17-06-2003 à 18:26:27
Et ben, je viens de jeter un bref coup d'oeil à la msdn, ca a l'air cotton quand même cette histoire de hook...A pas plus simple ?
Pasqu'en gros, j'ai l'impression qu'il faudrait que j'apprenne non seulement à utiliser les hook mais aussi les DLL comme je veux recup les messages d'une autre appli...Ca fait bcp de choses à apprendre pour une petite appli de rien du tout...
Marsh Posté le 18-06-2003 à 09:52:37
Autre appli : autre process, autre espace mémoire, ... c'est pas de la tarte d'aller modifier ça ...
Essaie le SetWindowLong ...
Marsh Posté le 27-06-2003 à 01:35:12
HelloWorld a écrit : Autre appli : autre process, autre espace mémoire, ... c'est pas de la tarte d'aller modifier ça ... |
En fait, je veuix pas modifier l'autre appli mais juste récupérer des clics...(Je précise, l'appli source des clics est un vrai programme - cad pas fait par moi- mais vendu dans le comerce , donc je peux pa modifier celle la)
Marsh Posté le 27-06-2003 à 09:05:36
T'as pas d'autres solution que le Hook
Marsh Posté le 27-06-2003 à 09:11:22
Je crois que j'ai trouvé une solution :
http://www.cppfrance.com/article.aspx?Val=2091
Dis moi si c'est ce que tu cherches
Marsh Posté le 27-06-2003 à 20:36:01
Ouais vu qu'il va falloir que je me coltine un hook, ca me fait un très bon exemple, merci. Me reste plus qu'à traudire ca pour une appli mfc et c bon
L'autre soluition à laquelle j'ai pensé c'est de tenter de retrouver l'emplacement mémoire qui correspond au bouton dont je veux capturer les clics...En fait ca serait même l'idéal
Marsh Posté le 29-06-2003 à 17:26:36
Ca ne correspond à rien ... chaque process possède son propre espace virtuel, et le mécanisme des handle est justement là pour empêcher de trifouiller les adresses. Et ce n'est pas le bouton qu'il faut bidouiller, mais sa classe, car c'est elle qui contient le callback appelé. Tu peux essayer un SetWindowLong sur le bouton.
Marsh Posté le 17-06-2003 à 12:53:38
Hello,
Je cherche à capturer les clics dans une autre application que la mienne. Avec spy++ j'ai identifié les messages qui m'interressent. Mais après, comment faire ?
Utiliser FindWindow() pour trouver la fenêtre et après ?
Merci