bloquear por horário

Delphi

29/08/2007

Estou desenvolvendo um sistema simples para que durante a semana de segunda a quinta por exemplo, o meu filho possa usar o computador até as 21hs da noite. Ele usa mais a internet. Eu tenho adsl.
Este sistema irá iniciar juto com o windows e ficar rodando ao lado do relógio. Esta parte de ficar executando ao lado do relógio eu sei fazer.
Daí ficará testando a hora. Se for superior a 21hs e for de segunda a quinta dará uma mensagem na tela com um botão para desligar o computador. Sem que ele possa pressionar ctrl+alt+del. alt + tab, etc..... apenas clicar em desligar.
Só que o problema é que ele pode alterar o horário do windows e dai fica furado o meu esquema.
Então quero ficar testando, tipo de 5 em 5 minutos, mas pegando o horário pela internet. Se é que tem como??? não sei.... de algum servidor....o que acham?
Não encontrei nenhum programa free deste tipo na internet.
Vi alguns para bloquear a internet por horário. Mas dai ele cria contas no windows, .... não queria isso. Queria algo simples.

Gostaria de saber também como posso fazer para bloquear o ctrl+at+del, alt+tab, .....
e para ele não clicar no iniciar também e execute outra coisa.

Tem como fazer, o que acham?


Briciosm

Briciosm

Curtidas 0

Respostas

Jáder Medeiros

Jáder Medeiros

29/08/2007

Usando o ShellExecute com os comandos:

1) net time /setsntp:ntp.ansp.br (sincronizar o horário do computador);
2) cmd /k shutdown -r -f -t 30 (para reiniciar o computador em 30seg).

você poderá usar a imaginação do jeito que quiser para fazer sua aplicação.


GOSTEI 0
Vitor Alcantara

Vitor Alcantara

29/08/2007

Para bloquear o CTRL+ALT+DEL no xp:

Procedure EnableCtrlAltDel(Travar:Boolean); 
const 
  sRegPolicies = ´\Software\Microsoft\Windows\CurrentVersion\Policies´; 
begin 
  with TRegistry.Create do 
  try 
    RootKey:=HKEY_CURRENT_USER; 
    if OpenKey(sRegPolicies+´\System\´,True) then 
    begin 
      case Travar of 
        True: 
        begin 
          WriteInteger(´DisableTaskMgr´,1) ; 
        end; 
        False: 
        begin 
          WriteInteger(´DisableTaskMgr´,0) ; 
        end; 
      end; 
    end; 
    CloseKey; 
end;

Para bloquear EnableCtrlAltDel(True);
Para desbloquear EnableCtrlAltDel(False);

Quanto a travar o ALT+TAB:

Declare essas váriaveis globais
var id1: integer;
const MOD_ALT = 1;

Utiliza assim para travar:
id1 := GlobalAddAtom(´Hotkey1´); 
RegisterHotKey(WND, id1, MOD_ALT, VK_TAB);

para destravar:
UnRegisterHotKey(WND, id1);


PS: Da uma olhada no tópico anterior como deixar a aplicação sempre sobrepostas as outras telas http://forum.devmedia.com.br/viewtopic.php?p=293084&highlight=#293084


GOSTEI 0
POSTAR