Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1394 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Récupérer les messages d'une autre application

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer les messages d'une autre application

n°430342
gooopil
pfiew
Posté le 17-06-2003 à 12:53:38  profilanswer
 

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

mood
Publicité
Posté le 17-06-2003 à 12:53:38  profilanswer
 

n°430452
HelloWorld
Salut tout le monde!
Posté le 17-06-2003 à 13:56:59  profilanswer
 

Faire un hook.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°430460
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-06-2003 à 13:59:41  profilanswer
 

HelloWorld a écrit :

Faire un hook.


+1
Un hook éloigné si possible, ce qui signifie que tu devras le placer dans une dll


---------------
J'ai un string dans l'array (Paris Hilton)
n°430471
HelloWorld
Salut tout le monde!
Posté le 17-06-2003 à 14:05:12  profilanswer
 

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.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°430946
gooopil
pfiew
Posté le 17-06-2003 à 18:16:59  profilanswer
 

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...

n°430956
gooopil
pfiew
Posté le 17-06-2003 à 18:26:27  profilanswer
 

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...


Message édité par gooopil le 17-06-2003 à 18:33:49
n°431589
HelloWorld
Salut tout le monde!
Posté le 18-06-2003 à 09:52:37  profilanswer
 

Autre appli : autre process, autre espace mémoire, ... c'est pas de la tarte d'aller modifier ça ...
Essaie le SetWindowLong ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°441090
gooopil
pfiew
Posté le 27-06-2003 à 01:35:12  profilanswer
 

HelloWorld a écrit :

Autre appli : autre process, autre espace mémoire, ... c'est pas de la tarte d'aller modifier ça ...
Essaie le SetWindowLong ...


 
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)

n°441168
LetoII
Le dormeur doit se réveiller
Posté le 27-06-2003 à 09:05:36  profilanswer
 

T'as pas d'autres solution que le Hook


---------------
Le Tyran
n°441179
Yoyo@
Posté le 27-06-2003 à 09:11:22  profilanswer
 

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 ;)

mood
Publicité
Posté le 27-06-2003 à 09:11:22  profilanswer
 

n°442214
gooopil
pfiew
Posté le 27-06-2003 à 20:36:01  profilanswer
 

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

n°443140
HelloWorld
Salut tout le monde!
Posté le 29-06-2003 à 17:26:36  profilanswer
 

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.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Récupérer les messages d'une autre application

 

Sujets relatifs
[VBA + Access] Récupérer tous les champs de mes tables Access...IPCop : comment récupérer l'uptime pour l'afficher dans mIRC par ex ?
[vb] comment récupérer le nom d une feuille parenteRécupérer le html géneré par le javascript
[C++] Récupérer le Hwnd d'une application lancée par une dllRécupérer le contenu d'une partie d'une fenetre...
cherche script ou application gerant le nombre de visite et l'ip[VBA + Access] Comment récupérer la version de tous les formulaires?
Récupérer la date système et l'enregistrer dans une base de données 
Plus de sujets relatifs à : Récupérer les messages d'une autre application


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR