unit mainform;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls,math,registry;

type
  Tmain = class(TForm)
    logo: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    cd: TLabel;
    timer: TTimer;
    Label4: TLabel;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
    procedure timerTimer(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  main: Tmain;

implementation

{$R *.dfm}

procedure Tmain.FormCreate(Sender: TObject);
var
reg : Tregistry;
begin
 Logo.Transparent:=True;
 Logo.Picture.Bitmap.TransparentMode:=tmAuto;
 try
 if fileexists('logo.bmp') then Logo.Picture.LoadFromFile('logo.bmp');
 except;
 end;
 timer.Tag:=1501;
  reg:=TRegistry.Create(KEY_READ);
  reg.RootKey := HKEY_LOCAL_MACHINE;
  if reg.OpenKey('SOFTWARE\Autologout\',true)then begin
    if reg.valueexists('timeout') then begin
      timer.Tag:=reg.readinteger('timeout')+1;
    end;
  end;

 if (copy(uppercase(paramstr(1)),1,2)='/C') then application.terminate;
 if (copy(uppercase(paramstr(1)),1,2)='/S') then timer.enabled:=true;
 if (copy(uppercase(paramstr(1)),1,2)='/P') then application.terminate;

 timerTimer(nil);
end;



procedure Tmain.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
application.terminate;
end;





procedure Tmain.timerTimer(Sender: TObject);
var minutes : integer;
var seconds : integer;
begin
timer.tag:=timer.tag-1;

minutes:=floor(timer.tag / 60);
seconds:=timer.tag-(minutes * 60);

cd.caption:=format('%.2d',[minutes])+':'+format('%.2d',[seconds]);
if timer.tag<0 then begin
  ExitWindowsEx(EWX_LOGOFF or EWX_FORCE or EWX_FORCEIFHUNG,0);
  application.Terminate;
end;
end;

procedure Tmain.Timer1Timer(Sender: TObject);
begin
   if label1.Visible=true label1.Visible:=false else label1.Visible:=true;
end;

end.