FindWindow - conseguindo o caption de uma janela

Top  Previous  Next

Pergunta: Como conseguir o caption de uma janela se só tenho a classe?

 

function Caption_da_Janela(const ClasseJanela: string) : string;

type

  WCaption = Array[1..254of Char;

var

  H     : THandle;

  Tam   : Integer;

  Texto : ^WCaption;

begin

  FillChar(Texto, SizeOf(Texto), ' ');

  H   := FindWindow(PChar(ClasseJanela),nil);

  if H = 0 then

  begin

    Result := 'Janela ' + ClasseJanela + ' não encontrada!';

    Exit;

  end;

  Tam := GetWindowTextLength(H);

  New(Texto);

  GetWindowText(h, PChar(Texto), Tam + 1);

  Result := Trim(texto^) + '  ' + IntToStr(H);

  Dispose(Texto);

end;