Handle des composants ATL

Résolu
yannfrance Messages postés 48 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 1 décembre 2010 - 12 mars 2009 à 16:16
yannfrance Messages postés 48 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 1 décembre 2010 - 13 mars 2009 à 19:29
Bonjour,

-J'ai une fenêtre d'une application extérieur (C++)dont je récupère son handle avec findwindows et le nom de barre de titre. (je code avec delphi 6)
-Dans cette fenêtre, il y'as des composants dont je souhaite aussi récuperer leurs handle via le Class Name.
-Gros soucis, les Class name, ce sont tous des composants ATL, et pour certains, il ont le même class Name.
Je ne comprend pas (sais pas) comment récuperer les handles de ces composants ATL qui se trouve dans la FORM.
ce sont des boutons, memo, richedit, etc...
Je pense a GetWindow , Mais....ce sont des ATL.
Voilà, si quelqu'un à une idée, merci.

2 réponses

yannfrance Messages postés 48 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 1 décembre 2010
13 mars 2009 à 19:29
Bonjour,

Sujet résolue aujourd'hui à l'aide de FindWindowEx et Getwindow.
merci et à ++
3
yannfrance Messages postés 48 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 1 décembre 2010
12 mars 2009 à 18:04
je vous poste mon petit morceau de code pour plus de comphrension:

procedure TForm1.Button1Click(Sender: TObject);
   var
     monhandle : integer;

Begin

  monhandle := FindWindow(Nil,'Le Titre De Ma Fenêtre'); // Me permet de récuperer le handle de la fenêtre
   Label1.Caption := IntToHex(monhandle, 8); // Me permet de vérifier le résultat

   
end;


Voilà, à l'interieure de cette fenêtre, il y'as des boutons ainsi que des "composants" qui me permet d'injecter du texte, mais je ne sais pas comment m'y prendre pour recuperer un handle précis de ces "composants".
sachant que dans un même temps, les class sont des ATL.
Exemple:
0002048E -  (ATL:00B63780)


Entre les parenthèse, c'est la class, et juste avant, le handle.
Toutes les class de l'application externe se présente sous cette forme.
Merci à ceux qui pourrons m'éclairer :?
0
Rejoignez-nous