Récupérer le texte d'un Edit avec l'handle..

Résolu
shell13010 Messages postés 73 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 12 mai 2013 - 20 févr. 2010 à 15:59
delphinovice Messages postés 6 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 15 mars 2010 - 15 mars 2010 à 18:09
Bonjour a tous,

J'aimerais savoir comment récupérer le texte d'un Edit d'une autre application?

donc j'ai une fonction que j'ai modifier mais je pense qu'il est pas bon donc si vous pourriez donner votre avis sur la fonction sa serais bien ..

function GetEditText(const AppClass, EditClass: string; EditIndex: Integer; out Text: string): Boolean;
var hWndApp, hEdit: HWND;
buffer: array[0..4095] of char;
const BUF_SIZE = 4096;
begin
result := False;
hWndApp:= FindWindow(PChar('APP1'), nil); //ici l'Handle de l'application externe si je me trompe pas?
if (hWndApp<> 0) then
begin
hEdit := FoundChild(hWndWord, PChar('Edit'), nil, EditIndex); //ici je suppose que c'est l'Edit?
if (hEdit <> 0) then //ici teste si bon envoie...
begin
Sendmessage(hEdit,WM_GETTEXT, BUF_SIZE , Cardinal(@buffer));
result := True;
Text := buffer;
end;
end;
end;

Mais par contre j'ai 2 erreur que je n'arrive a déclarer les voici:

[Erreur] Unit2.pas(40): E2003 Identificateur non déclaré : 'FoundChild'
[Erreur] Unit2.pas(40): E2003 Identificateur non déclaré : 'hWndWord'

6 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
20 févr. 2010 à 20:49
Salut,

Effectivement, il y a des soucis dans ta fonction. Il te manque la fonction FoundChild et la déclaration de hWndWord... Mais je pense que c'est plutôt hWndApp qui devrait être là.

Il faut que tu code FoundChild, avec du EnumChildWindows par exemple.
3
Rejoignez-nous