Como travar o relógio do Windows?

17/12/2003

1

Olá, amigos!!

Gostaria de saber de vcs se existe alguma rotina para evitar que o relógio do windows seja alterado por qualque usuário sem permissão.

Obrigado!!


Responder

Posts

17/12/2003

Aroldo Zanela

Colega,

A forma mais simples que encontrei foi renomear o TIMEDATE.CPL para um outro nome qualquer.


Responder

17/12/2003

Beppe

Evitar o mudança é impossível devido ao auxílio de qualquer programa. Mas nada impede que você realtere o horário.

Cada janela recebe uma mensagem WM_TIMECHANGE quando o horário do sistema é alterado.

Isto vai no private do form:
procedure WMTimeChange(var Message: TWMTimeChange); message WM_TIMECHANGE;


A implementação:
procedure TForm1.WMTimeChange(var Message: TWMTimeChange); message WM_TIMECHANGE;
begin
  SetSystemTime(Ultimo_Horario_Registrado);
  Message.Result := 0;
end;


Você precisa manter a variável Ultimo_Horario_Registrado. Isto pode ser feito com a ajuda de um timer. A data do sistema pode ser pega com GetSystemTime.

Dificilmente você irá manter a hora exata, mas isto é o mais perto que pode chegar.


Responder

18/12/2003

Janderson

VALEU, PESSOAL VCS SÃO D+! :lol: :lol: :lol: :lol:

A dica que o Aroldo Zanela mandou funcionou perfeitamente. Eu fiz uma coisa interessante: Quando eu carrego o meu sistema no oncreate do meu form principal eu renomeio o arquivo e quando o programa é fechado coloco o nome original de volta


Responder