Quando, com tempo ocioso o sistema faz logoff

Delphi

09/10/2006

Gostaria de acresecntar nos meus sistemas a opção de quando o usuário não utilizar o micro por um certo tempo ele efetuar logoff no meu sistema, (não no windows) e ficar na tela de login.
Alguém sabe como o windows faz para pegar este tempo sem utilizar o micro?
Existe como fazer isto no Delphi? Como?


Emir Neto

Emir Neto

Curtidas 0

Melhor post

Rodc

Rodc

10/10/2006

Coloque um TTimer no seu form principal. No evento do Timer coloque o evento que faz o logoff no seu programa.
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  // Código do Logoff aqui
end;

Declare as duas funções abaixo no private do form principal.
private
    procedure AppIdle(Sender: TObject; var Done: Boolean);
    procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
  public

E implemente o código das duas.
procedure TForm1.AppIdle(Sender: TObject; var Done: Boolean); begin Timer1.Enabled := True; end; procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean); begin Case Msg.message of WM_LBUTTONDOWN,WM_RBUTTONDOWN,WM_KEYDOWN :Timer1.Enabled := False; end; end;

No evento OnCreate do Form, coloque o código abaixo.
procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage := AppMessage;
  Application.OnIdle := AppIdle;
end;

A propriedade Interval do TTimer indica quanto tempo (em milisegundos) o programa deve ficar sem uso ou sem receber mensagens do windows para que entre em logoff. Vale lembrar este tem sem uso é o tempo do seu programa e não do windows. Ou seja, se o seu programa estiver minimizado e o usuário estiver por exemplo usando o Word, o seu programa não irá receber eventos e consequentemente será feito loggoff.
Boa sorte...


GOSTEI 1

Mais Respostas

Ramms

Ramms

09/10/2006

Amigo vc está construindo seu sistema de login do 0?

Tente utilizar esse componente http://www.usercontrol.com.br ele tem essa e mtas outras opções.

[]´s


GOSTEI 0
Emir Neto

Emir Neto

09/10/2006

Funcionou perfeitamente. Valeu


GOSTEI 0
Emir Neto

Emir Neto

09/10/2006

Funcionou perfeitamente. Valeu


GOSTEI 0
POSTAR