Hola mordaz.
El código del mensaje
#4, cambiará sin ningún problema cualquier título de ventana de una aplicación tipo
SDI. Siempre claro, que la aplicación se esté ejecutando y que la ventana que deseas cambiar el título tenga su propiedad visible en verdadero.
Pero podría suceder que la aplicación de tercero que mencionas sea
MDI, en ese caso el código tiene que cambiar un poco:
Código Delphi
[-]
...
implementation
{$WARNINGS OFF}
procedure SetWindowTitleMDI(const MainTitle, ChildTitle, NewTitle: string);
var
hMain, hMDI, hChild : THandle;
begin
hMain := FindWindow(nil, PChar(MainTitle));
if hMain <> 0 then
begin
hMDI := FindWindowEx(hMain, 0, 'MDIClient', 0);
if hMDI <> 0 then
begin
hChild := FindWindowEx(hMDI, 0, 0, PChar(ChildTitle));
if hChild <> 0 then
SetWindowText(hChild, PChar(NewTitle));
end;
end;
end;
Ejemplo de llamada:
Código Delphi
[-]
procedure TForm1.btnChangeMDIClick(Sender: TObject);
begin
SetWindowTitleMDI('MDIForm', 'MDIChild1', 'OTRO_TITULO'); end;
Saludos