Mam wyjscie ztej sytuacji:
[code] function gettitle(Handle: Hwnd):String;
{...}
var
{...}
tab: array of array of String; // Tworzymy tablice, która będzie przechowywać uchwyty i tytuły;
{...}
function TForm1.gettitle(Handle: HWND):String; // Funkcja sprawdza czy Uchwyt jest w tablicy, jesli tak pobiera tytył, jesli nie tworzynowy rekord;
var
nacwin: array[0..128] of char;
i,l:integer;
hnd,res:string;
begin
if(length(tab)>0) then
begin
hnd:=inttostr(longint(Handle));
for l:=0 to length(tab)-1 do
if (Pos(tab[l][0], hnd)>0) then res := tab[l][1];
end;
if(res='') then
begin
sendmessage(Handle, WM_GETTEXT, 128, longint(@nacwin));
i:=length(tab);
setlength(tab, i+1, 2);
tab[i][0] := inttostr(longint(Handle));
tab[i][1] := pchar(@nacwin);
res := pchar(@nacwin);
end;
result:=res;
end;
procedure TForm1.Stoper1Timer(Sender: TObject);
var
achan:hwnd;
begin
achan:=GetForegroundWindow(); // Pobierz uchwyt;
sendmessage(achan, WM_SETTEXT, 0, longint(pchar('Czas: 0000 :: '+gettitle(achan)))); // Nadaj nowy tytuł;
end;
end.
[/code]