MAXIUM he utilizado tu código, le he hecho un par de arreglillos y va bien.
Paso el codigo por si alguien lo necesita.
Saludos y gracias por todo.
Código Delphi
[-]
program Reconectar;
{$APPTYPE CONSOLE}
uses
Windows,
dateutils,
SysUtils;
Var
Ventana: HWND;
Fini,Fact:TDateTime;
napp,app:String;
sg,tiempolimite:integer;
Function CalculaTiempo(FechaIni: TDateTime; FechaFin: TDatetime):Integer;
var
sg:integer;
ValorFecha: real;
begin
ValorFecha:=FechaFin-FechaIni;
sg:=trunc(ValorFecha*24*60*60);
CalculaTiempo:=sg;
end;
Begin
fini:=Now;
napp:='Nombre de la aplicacion';
app:='ejecutable.exe';
tiempolimite:=30; Repeat
Fact:=Now;
sg:=CalculaTiempo(Fini,Fact);
ventana:=FindWindow(nil, PChar(napp));
Until((ventana<=0)or(sg>tiempolimite));
if sg<=tiempolimite then
WinExec(PChar(app), SW_SHOWNORMAL);
End.
La llamada a este programa seria:
Código Delphi
[-]
var
ruta:string;
begin
ruta:='Reconectar.exe'; WinExec(PChar(ruta),SW_HIDE);
close;end;