usuário ausente?

08/12/2005

2

pessoal existe alguma forma de saber quando o usuário está ausente?


explicando melhor .....


o sistema está aberto e por algum motivo a pessoa teve que sair e deixou ativo. eu queria gerar uma ação assim que o programa identificar que ninguém está usando o computador.


Responder

Posts

você precisa identificar se o computador está uso, ou se o seu sistema está em uso?


Responder

08/12/2005

Crcam

na verdade se o computador está em uso pois quero proteger o sistema.


Responder

08/12/2005

Okama

Existe a proteção de tela do windows com senha, resolve ?


Responder

08/12/2005

Crcam

não ...
eu quero gewrar uma ação de logaut no meu sistema caso o usuário abandone o computaro ou eu reinicio ou eu fecho software .

minha preocupação é so com meu programa......


Responder

08/12/2005

Romulocpd

Realmente isso seria uma boa mesmo! Se o usuário sair da maquina o sistema poderia tipo ficar bloqueado.

Naquele componente ApplicationEvents tem acho que um OnIdle porém meu caso:

Eu tenho um projeto todo modular onde praticamente cada formulário do meu programa pertence a um pacote especifico. Isso é apra facilitar a manutenção (e realmente é mt melhor). O ApplicationEventos, com evento OnIdle, irá pegar também o tempo ocioso dos fomrularios no pacote?

Aqui mesmo na empresa é um problema sério, o cara vai no banheiro e qd ve tem gente na maquina. Mesmo que a regra geral seja bloquear a estação (estações WinXP ou Win2kProf) tem sempre um cabeçudo que esquece.

Valeu!


Responder

08/12/2005

Crcam

então como ficaria p/ gerar a ação? o meu não está em modulos o evento ficaria no form principal ...


Responder

08/12/2005

Romulocpd

Bom, eu nunca usei este componente, só sei de sua existencia. Tem que rodar na net atrás do funcioamento dele, ou no proprio help do Delphi pois ele é um componente nativo.


Responder

08/12/2005

Crcam

ai complicou pois já rodei atraz disso antes de recorrer no clube


Responder

08/12/2005

Crcam

pessoal não era bem isso que eu tinha em mente mas o resultado foi o esperado

vou diexar aqui p/ quem tiver com o mesmo problema de usuário relaxado....

NO FORMULÁRIO PRINCIPAL DE SUA APLICAÇÃO, AJUSTE A PROPRIEDADE KeyPreview PARA true,

INSIRA O COMPONENTE TTimer
E AJUSTE O INTERVALO PARA 1000 MILESEGUNDOS




---------------------------------------------

private
procedure ResetTimeOut;

public
{ Public declarations }
end;


------------------------------------

implementation

const

maxTimeOutValue = 300; // 300 segundos = à 5 minutos
var TimeOut : integer; // será incrementando pelo TTimer

{$R *.dfm}

procedure TForm1.ResetTimeOut;
begin
TimeOut := 0;
end;







-----------------------------------------------------

procedure TForm1.FormCreate(Sender: TObject);
begin
timeOut:= 0;
end;

-------------------------------------------------------


procedure TForm1.Timer1Timer(Sender: TObject);
begin
inc(TimeOut);
if TimeOut = MaxTimeOutValue then
begin
Timer1.enabled:= false;
close;
end;
end;


-------------------------------------------------------------


procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
ResetTimeOut;
end;


Responder

08/12/2005

Romulocpd

Olá,

Foi uma solução mesmo, mas você usou o evento OnIdle né? Pois não encontrei em seu código onde ele começaria a contar o tempo ocioso. Tipo, seo cara vai e digita algo então ele recomeça a contar.

Valeu!


Responder

08/12/2005

Crcam

na verdade o que fiz é toda vez que a aplicação for clicada ele reinicia o contador do timer ou seja ele aciona

procedure TForm1.ResetTimeOut;


Responder

09/12/2005

Jackson Gomes

Pessoal:

O componente para controle de acesso que comercializo tem essa função de TimeOut. Quem tiver interesse, pode dar uma olhadinha na página.


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar