ncoder
Messages postés244Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention 6 avril 2008
-
7 juin 2005 à 15:55
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
17 juin 2005 à 16:03
Bonjour à tous,
Voici mon problème : J'ai fait un programme et à un moment il en lance un autrequi ouvre une fenètre.
J'aimerai pouvoir récupérer le texte de l'editbox de la nouvelle fenètre, et le récupérer à chaque fois qu'elle est à nouveau modifiée...
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 7 juin 2005 à 16:11
Pour avoir le contenu d'un edit, c'est GetWindowText, et pour savoir quand elle change, tu as la notification EN_CHANGE. Le problème c'est que c'est l'application qui contient l'edit qui va la recevoir. Donc quand le programme qui contient l'EDIT recoit la notification EN_CHANGE, le programme envoie un message (#define EN_MYCHANGE (WM_USER + 1) par exemple) au premier programme. Quand le premier programme recoit EN_MYCHANGE, ca veut dire que le texte a changé, tu peux alors faire le GetWindowText sur l'edit
ncoder
Messages postés244Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention 6 avril 20081 7 juin 2005 à 16:45
D'accord mais 2 problèmes s'offrent à moi :
1) Le 2eme programme (qui contient l'edit) n'est pas de ma création, donc je ne peux le modifier !!!! (je peux pas mettre #define EN_MYCHANGE (WM_USER + 1) )
2) Je n'ai pas le "nom" de l'edit juste je sais qu'il y en a qu'un dans la fenètre (faire une boucle qui puisse le trouver puisque si je le trouve c'est le bon ?) ?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 7 juin 2005 à 16:55
Je pensais que tu avais le HWND de l'edit. Tu peux utiliser EnumChildWindows pour le trouver, et tester le nom de classe jusqu'a ce que tu ais "EDIT".
Si tu ne peux pas modifier le deuxième programme, ca va être compliqué: sous XP tu n'a pas le droit de sous classer une fenêtre d'un autre process. Pour le moment je vois pas comment faire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 8 juin 2005 à 21:31
Encore un petit truc, j'ai mis "EDIT" et "edit", mais apparemment c'est
"Edit" que Windows donne pour les edit, donc a toi de voir comment tu
fais (tu peux utiliser strcmpi pour une comparaison qui ne tient pas
compte de la casse)
ncoder
Messages postés244Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention 6 avril 20081 9 juin 2005 à 14:07
Si cela peut aider à résoudre le pb :
Je veux juste prendre les conversations d'MSN Messenger ....!
Donc faire un GetWindowText( ) sur l' "EDIT" ou sur ce controle là d'une fenètre de conversation dont j'aurais préalablement donné le handle......
C'est possible ?
Ou alors une autre idée ?