ups ... das Succ glatt übersehn
nja, das ist dann aber etwas falsch, an dieser Stelle ... es sei denn du entfernst das zusätzliche Zeichen wieder, nachdem der Text ausgelesen wurde.
z.B.:
Delphi-Quellcode:
Wnd := GetForegroundWindow;
if Wnd <> 0 then
begin
SetLength(Result, Succ(GetWindowTextLength(Wnd)));
SetLength(Result, GetWindowText(Wnd, PChar(Result), Length(Result)));
end;