salut
quelqu'un peut m'expliquer comment determiner le nom de la fenetre active !!!! (determiner le texte dans la barre de titre de la fenetre active )
merci d'avance
function ActiveCaption: string;
var
Handle: THandle;
Len: LongInt;
Title: string;
begin
Result := '';
Handle := GetForegroundWindow;
if Handle <> 0 then
begin
Len := GetWindowTextLength(Handle) + 1;
SetLength(Title, Len);
GetWindowText(Handle, PChar(Title), Len);
ActiveCaption := TrimRight(Title);
end;
end;
apparement c'est GetForeGroundWindow pour renvoyer le handle de la fenetre active mais comment l'utiser pour afficher le texte de cette fenetre Getwindows text ?
Je suppose :
+ 1 parce que GetWindowText retourne un résultat tronqué d'un caractère dans la plupart des cas => donc TrimRight pour les autres cas.
Personnellement, je prèfère utiliser un array of Char pour récupérer la valeur, ça simplifie et raccourcit le code :
var
Handle: THandle;
Title: array[0..255] of Char;
begin
Result := '';
Handle := GetForegroundWindow;
if Handle <> 0 then
begin
GetWindowText(Handle, Title, SizeOf(Title));
Result := Title;
end;
end;