não deixar alterar data no xp
Gostaria de saber que comando posso dar para que o usuário não possa alterar a data no windows xp.
Comando para bloquear e outro para liberar.
Obrigado!
Comando para bloquear e outro para liberar.
Obrigado!
Briciosm
Curtidas 0
Respostas
Vitor Alcantara
31/08/2007
Cara você pode tentar fazer de dois modos, um verificar se o programa do relógio está aberto e fechalo , outro ocultando o relógio da barra de tarefas.
Para verificar se o programa do relógio está aberto você pode fazer assim dentro de um timer:
eu gosto de fazer em vez de procurar pelo caption da janela eu gosto de procurar pela classe ´RunDLL´ que a maiorias de janelas de proprieades do windows utilizam.
Para ocultar o icone do relógio da barra de tarefas você pode fazer via registro alterando o valor ´HideClock´ da chave ´Software\Microsoft\Windows\CurrentVersion\Policies\Explorer´;
Para ocultar fassa do seguinte modo:
Atenção nescessita fazer o logoff para que se veja as alterações.
Acho que deva existir outros métodos que eu desconheço mais em uma aplicação comercial eu utilizo pelo método da procura da classe RunDll (if FindWindow(´RunDLL´,nil) <> 0 then), pois desse modo eu desabilito que o usuário altere as configurações (maioria) e hora do sistema.
Só complementando eu gosto também de sincronizar os relógios das máquinas de acordo com a hora do servidor (na hora de entrar no sistema eu dou um ´SELECT GETDATE()´ no servidor SQL Server e atualizo a hora igual).
Para verificar se o programa do relógio está aberto você pode fazer assim dentro de um timer:
//Verifica se existe uma janela com o titulo ´Propriedades de Data e Hora´ if FindWindow(nil,´Propriedades de Data e Hora´) <> 0 then Begin PostMessage(FindWindow(nil,´Propriedades de Data e hora´),WM_CLOSE,0,0); Application.MessageBox(´As propriedades de data e horas estão bloqueadas.´,´Atenção´,mb_iconWarning); end;
eu gosto de fazer em vez de procurar pelo caption da janela eu gosto de procurar pela classe ´RunDLL´ que a maiorias de janelas de proprieades do windows utilizam.
//if FindWindow(nil,´Propriedades de Data e hora´) <> 0 then if FindWindow(´RunDLL´,nil) <> 0 then Begin //PostMessage(FindWindow(nil,´Propriedades de Data e hora´),WM_CLOSE,0,0); PostMessage(FindWindow(´RunDLL´,nil),WM_CLOSE,0,0); Application.MessageBox( ´As propriedades do windows estão bloqueadas por questão de segurança para acessalas saia do programa "Comercial".´,´Atenção´,mb_iconWarning); end;
Para ocultar o icone do relógio da barra de tarefas você pode fazer via registro alterando o valor ´HideClock´ da chave ´Software\Microsoft\Windows\CurrentVersion\Policies\Explorer´;
Para ocultar fassa do seguinte modo:
var key:TRegistry; begin key := TRegistry.Create; key.RootKey := HKEY_CURRENT_USER; key.OpenKey(´Software\Microsoft\Windows\CurrentVersion\Policies\Explorer´,true); key.WriteInteger(´HideClock´, 1);//Valor 1 para desabilitar e valor 0 para habilitar. Key.CloseKey; end;
Atenção nescessita fazer o logoff para que se veja as alterações.
Acho que deva existir outros métodos que eu desconheço mais em uma aplicação comercial eu utilizo pelo método da procura da classe RunDll (if FindWindow(´RunDLL´,nil) <> 0 then), pois desse modo eu desabilito que o usuário altere as configurações (maioria) e hora do sistema.
Só complementando eu gosto também de sincronizar os relógios das máquinas de acordo com a hora do servidor (na hora de entrar no sistema eu dou um ´SELECT GETDATE()´ no servidor SQL Server e atualizo a hora igual).
GOSTEI 0