function GetText(h: THandle): string;
var
lang: integer;
begin
lang := SendMessage(h, WM_GETTEXTLENGTH, 0, 0);
setlength(result, lang);
SendMessage(h, WM_GETTEXT, lang + 1, LongInt(result));
end;
procedure SetText(h: Thandle; txt: string);
begin
SendMessage(h, WM_SETTEXT, 0, LongInt(txt));
end;
// --- Beispielaufrufe ---
// Der Text eines Memo wird an ein Label übertragen
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.caption := GetText(Memo1.handle);
end;
// Nachdem geprüft wurde, ob Wordpad überhaupt geöffnet ist,
// wird vom ersten gefundenen Fenster die Titelelleiste unbenannt.
procedure TForm1.Button2Click(Sender: TObject);
var h: THandle;
begin
h := findwindow('wordpadclass', nil);
if h <> 0 then
SetText(h, 'Test..Test..Test');
end;