Código Delphi
[-]
Application.Initialize;
Application.CreateForm(TmoduloDatos, moduloDatos);
frmInicio:=TfrmInicio.Create(nil);
if frmInicio.ShowModal = mrok then
begin
Application.CreateForm(TfmPrincipal, fmPrincipal);
Application.Run;
end
else
Application.Terminate;
Mira no veo bien cual es el form que tiene el logue, pero lo que podes haces es un timer, enlazado al evento Onmousemove.. (creo que esasi) que se active cuando el mouse deja de moverse.. (es decir, lo dejas activo siempre pero pones un variable global que haga de control) despues de N veces que no se puso a cero, cuando pasa por el evento Ontime. mostras nuevamente el formulario de logueo..
Mas o menos como esto:
Código Delphi
[-]
var
Form1: TForm1;
vTimer:integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
vTimer:=0;
Timer1.Enabled :=false;
Timer1.Interval:=60000; Timer1.Enabled :=true;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
vTimer:=0;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
If vTimer=> 5 then
ShowMessage('Debes reloguearte')
else
inc(vTimer);
end;
end.