// Es werden über ein Handle Texte ausgelesen bzw. geschrieben.

// Getestet mit D4 unter XP

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; 


Zugriffe seit 6.9.2001 auf Delphi-Ecke