Finde mit FindWindow / EnumWindows das Parent-Fenster. Finde mit FindWindowEx / EnumChildWindows das RichEdit oder Memo. Sende eine WM_GETTEXTLENGTH Nachricht mit SendMessage an das RichEdit / Memo, Rückgabewert der Funktion SendMessage ist in diesem Fall die anzahl der Zeichen. Reserviere entsprechend Speicher für eine PChar Variable. Hol dir den Inhalt, in dem du WM_GETTEXT an das RichEdit / Memo schickst. Den Inahlt findest du jetzt im lParam welcher ein Zeiger auf deinen zuvor reservierten Speicher vom Typ PChar ist.
Im PseudoCode:
Code:
var
len: Integer;
Buffer: PChar;
begin
len := SendMessage(hRichEdit, WM_GETTEXTLENGTH, 0, 0);
GetMem(Buffer, len+1);
try
SendMessage(hRichEdit, WM_GETTEXT, len+1, Integer(@Buffer));
Memo1.Text := String(Buffer);
finally
FreeMem(Buffer, len+1);
end;
hRichEdit ist das
Handle von dem RichEdit im anderen Programm, Memo1 das memo in deinem Programm.