Fórum Bloquear Data do Sistema #258186

12/11/2004

0

Olá galera...

Estou com uma dúvida... Gostaria de saber se há alguma forma, via programação Delphi, de bloquear o acesso às configurações do Relógio de um Sistema Windows 95 ou 98. Estou desenvolvendo um sistema de ponto para Funcionários, e queria evitar o acesso às aslterações do relogio, uma vez que todo o sistema se baseia na data do sist. operacional. Se algum puder me ajudar, agradeço desde já.

Atenciosamente,
VIVI =)


Vivipeder

Vivipeder

Responder

Posts

12/11/2004

Dopi

Veja esse tópico:

http://delphiforum.icft.com.br/forum/viewtopic.php?t=52249&highlight=ecf+hora


Responder

Gostei + 0

16/03/2005

Marco Salles

Eu Tb Estou Precisando Disso :

bloquear o acesso às configurações do Relógio de um Sistema Windows 95 ou 98.


O Amigo[b:29053e1067] Dopi [/b:29053e1067]Sugeriu Verificar o Tópico:

http://delphiforum.icft.com.br/forum/viewtopic.php?t=52249&highlight=ecf+hora

So que não estou conseguindo acesso a ele :cry: :cry: :cry: :cry:

Alguem tem mais Alguma idéia De como evitar este acesso via código usando o delphi... :lol: :lol: :lol:


Responder

Gostei + 0

16/03/2005

Marco Salles

Continuando Minha Ardua Pesquisa , Encontrei Isto Neste Tópico:

http://forum.clubedelphi.net/viewtopic.php?t=52249&highlight=relogio


o amigo [b:a462203133]arielton.lima [/b:a462203133]Postou:
uma coisa que aprendi com alguns amigos... (no caso do WIN98 (que eh realmente o caso)) foi alterar o COMMAND.COM... hexadecimal. mudando o comando TIME p/ qualquer outro nome, exemplo: ´VIME´... a hora soh poderia ser alterar usando o comando VIME. legal, neh... então juntando isso... com o renomear o ´timedate.cpl´.. .fica quase perfeito.. a naum ser o usuario poder alterar pela BIOS... então seria colocar uma senha para entrar na bios e EUREKA ! tudo certo.


Alguem sabe e pode explicar mais detalhadamente Como Implementar
na prática as Dicas que Nosso Amigo Passou

Mudar o Comando Time :cry: :cry: :cry:
Como Acessar Usando o Novo Nome :cry: :cry: :cry:
renomear o ´timedate.cpl´.. :cry: :cry: :cry:
Senha para Entrar Na bios :cry: :cry: :cry: :cry:

[b:a462203133]Obrigado amigos[/b:a462203133]


Responder

Gostei + 0

16/03/2005

Dopi

O problema é que o Forum mudou de endereço e todos os Links a ele mesmo ficaram ´mortos´

Se não me engano o tópico era esse aqui..
http://forum.clubedelphi.net/viewtopic.php?t=52249&highlight=ecf+hora


Responder

Gostei + 0

16/03/2005

Marco Salles

É este mesmo amigo dopi

http://forum.clubedelphi.net/viewtopic.php?t=52249&highlight=ecf+hora

Mas o problema persiste:

o amigo arielton.lima Postou neste tópico relacionado acima:
Citação:
uma coisa que aprendi com alguns amigos... (no caso do WIN98 (que eh realmente o caso)) foi alterar o COMMAND.COM... hexadecimal. mudando o comando TIME p/ qualquer outro nome, exemplo: ´VIME´... a hora soh poderia ser alterar usando o comando VIME. legal, neh... então juntando isso... com o renomear o ´timedate.cpl´.. .fica quase perfeito.. a naum ser o usuario poder alterar pela BIOS... então seria colocar uma senha para entrar na bios e EUREKA ! tudo certo.



Alguem sabe e pode explicar mais detalhadamente Como Implementar
na prática as Dicas que Nosso Amigo Passou

Mudar o Comando Time :cry: :cry: :cry:
Como Acessar Usando o Novo Nome :cry: :cry: :cry:
renomear o ´timedate.cpl´.. :cry: :cry: :cry:
Senha para Entrar Na bios :cry: :cry: :cry:


Responder

Gostei + 0

16/03/2005

Marco Salles

Gostaria de descobrir um modo de esconder o Horário do Sistema quando o Aplicativo for Inicializado

No Evento OnShow :arrow: Esconde relogio

No Evento OnClose :arrow: Habilita o Relógio

Ou Mesmo Uma Idéia de como Esconde-lo, via Mudando De Nome, Redirencionando etc, Este Relógio, Para que o Usuário, Não tenha Acesso


Responder

Gostei + 0

16/03/2005

Kapak

ShowWindow(FindWindowEx(FindWindowEx(FindWindow(´Shell_TrayWnd´, nil), 0, ´TrayNotifyWnd´, nil), 0, ´TrayClockWClass´, nil), SW_Hide);
SW_Show p/ mostrar.


Responder

Gostei + 0

16/03/2005

Marco Salles

Show..... :P :P ..Realmente o relógio Some

Mas o Usuário continua acessando o Horário do Sistema :cry: :cry: :cry:

Basta ele dar Um Click Na Barra De Ferramentas :( :( :(


Responder

Gostei + 0

16/03/2005

Kapak

Como assim? O vão do relógio não some ?


Responder

Gostei + 0

16/03/2005

Ifdo_ltda

[b:9fa9c3b066]Eu tenho uma idéia, ai cabe ver se te agrada ou naum[/b:9fa9c3b066]

Eu precisei fazer algo parecido uma vez e crie uma funcao que verificava a data e hora do sistema a cada minuto, e registrava em uma variavel(pode ser um arquivo .ini o no registro) ai ficava verificado se a data era menor do que estava na variavel....

Pelo menos eu sei q da certo.. mas agora tem q ver c para seu sistema dá!!!

Abraços!!! :P


Responder

Gostei + 0

17/03/2005

Marco Salles

Kapak:
Como assim? O vão do relógio não some ?


O vao do Relogío Some... Mas o relogio continua sendo acessado, via atalho:
Por Exemplo: Dando Um Click Na Barra De Ferramentas e Acessando
Ajustar a Data e Hora :cry: :cry: :cry: :cry:


ifdo_ltda:
Eu tenho uma idéia, ai cabe ver se te agrada ou naum Eu precisei fazer algo parecido uma vez e crie uma funcao que verificava a data e hora do sistema a cada minuto, e registrava em uma variavel(pode ser um arquivo .ini o no registro) ai ficava verificado se a data era menor do que estava na variavel.... Pelo menos eu sei q da certo.. mas agora tem q ver c para seu sistema dá!!! Abraços!!!


Sim.. Quando se esta Dentro Do Aplicativo, de fato, Podemos Ficar de Olho Nestas Alterações.. Mas o Problema e quando estivermos fora.
Por exemplo, antes de abrir o aplicativo a hora pode ser alterada , para um horário conveniente a do usuário :cry: :cry: :cry: :cry:

Eu estou achando que ao Usar o Time Do Sistema no Aplicativo, Onde este Time é fundamental , Para avaliar algumas situações(Exemplo : Banco de Horas), Não é Definitivamente uma boa Idéia.

O Aplicativo Fica sujeito a possíveis situaçoes fraudulentas por parte de usuários . Mas se Conseguisemos Renomear os arquivos Do Windows , Responsáveis Por Este Time, Seria Uma nova Leva de Raciocineo..Como Foi Tentado Pelo Nosso Amigo arielton.lima Postou No Tópico

http://forum.clubedelphi.net/viewtopic.php?t=52249&highlight=ecf+hora


uma coisa que aprendi com alguns amigos... 
(no caso do WIN98 (que eh realmente o caso)) foi alterar o COMMAND.COM... hexadecimal. 

mudando o comando TIME p/ qualquer outro nome, exemplo: "VIME"... a hora soh poderia ser alterar usando o comando VIME. 
legal, neh... 
então juntando isso... com o renomear o "timedate.cpl".. .fica quase perfeito.. a naum ser o usuario poder alterar pela BIOS... então seria colocar uma senha para entrar na bios e EUREKA ! tudo certo. 


[b:cf4e85c44c]So que ele não explicou como Finalizar estas idéias[/b:cf4e85c44c]

Mudar o Comando Time :?: :?:
Como Acessar Usando o Novo Nome :?: :?:
renomear o ´timedate.cpl´.. :?: :?:
Senha para Entrar Na bios :?: :?:


Responder

Gostei + 0

17/03/2005

Kapak

O vao do Relogío Some... Mas o relogio continua sendo acessado, via atalho: Por Exemplo: Dando Um Click Na Barra De Ferramentas e Acessando Ajustar a Data e Hora


Bom, aí tem várias formas de se modificar a data/hora, não só por esse menú, mas no .cpl e no prompt do dos. Renomeando o .cpl, esse menú não funciona e o Data/Hora do painel de controle desaparece; mas ainda assim resta o problema da janela dos que se vc renomear o ´[b:da880e2b9d]Time[/b:da880e2b9d]´ do cmd.exe, vc vai ter que renomear o nome da função
File[b:da880e2b9d]Time[/b:da880e2b9d]ToSystemTime da Kernel32.dll pq o cmd.exe monta o nome dessa função pelo nome do comando e é assim que a janela DOS consegue tb alterar a data/hora do Windows.

Se for de alguma ajuda, vc consegue ´saber´ se o usuário modificou a data da máquina tanto pelo Windows, quanto pelo DOS, implementado uma procedure do tipo message WM_TimeChange no seu aplicativo; quando essa msg chega é pq a data/hora já foi alterada e aí vc pode resetá-la pela função SetSystemTime.


Responder

Gostei + 0

17/03/2005

Marco Salles

Uma luz no fim do tunel :P :P :P :P :P :P :P

So que Foram muitas as informações apresentadas. E eu gostei das idéias :P :P :P Mas gostaria de calmamente Implementa-las :lol: :lol: :lol:

Sera que daria para seguirmos nesta linha de raciocineo Passo a a passo:


1) Passo
Renomeando o .cpl, esse menú não funciona e o Data/Hora do painel de controle desaparece
Como e aonde renomear isto :?: :?: :?: :?:
Fiz Uma Busca no meu Pc e não encnontrei nenhum arquivo com esta
Extenção : [size=14:227d2aeb52][color=red:227d2aeb52].cpl[/color:227d2aeb52][/size:227d2aeb52]
2) Esta renomeação pode ser feita via código em delphi :?: :?: :?:

3) Este Processo pode ser reversível :?: :?: :?:

4)mas ainda assim resta o problema da janela dos que se vc renomear o ´Time´ do cmd.exe, vc vai ter que renomear o nome da função FileTimeToSystemTime da Kernel32.dll :cry: :cry: :cry:
[size=16:227d2aeb52][color=red:227d2aeb52]Não entendi bem esta parte e nen sei localizar esta funão e tão pouco renomea-la[/color:227d2aeb52][/size:227d2aeb52]

5) implementado uma procedure do tipo message WM_TimeChange no seu aplicativo; quando essa msg chega é pq a data/hora já foi alterada e aí vc pode resetá-la pela função SetSystemTime.
Esta ultima parte e uma boa idéia .. Mas tb nao sei implementa-la :oops: :oops: :oops:

Vai devagar que o santo e de barro :P :P :P

Mas de tudo gostei das idéias e gostaria de aprofunda-las :lol: :lol: :lol:


Responder

Gostei + 0

17/03/2005

Kapak

1-No meu caso que é o Win2000, ele está em: ´Pasta do Windows\System32\timedate.cpl´

2-Pode ser renomeado pelo Delphi:
RenameFile(´Pasta do Windows\System32\timedate.cpl´, ´Pasta do Windows\System32\timedate.xxx´);

3-É só inverter .xxx p/ .cpl

4-Quando vc altera data/hora pelo DOS, o command do DOS chama a função FileTimeToSystemTime da api kernel32 que altera a data do Windows. Aliás, vc nem precisa alterar a data/hora, qdo vc abre a janela DOS pelo cmd.exe, essa função já é carregada. Então supondo que vc altere o comando ´Time´ p/ ´[b:6d0a8138a8]Tempo[/b:6d0a8138a8]´, quando vc chamar a janela DOS, dará um erro dizendo que File[b:6d0a8138a8]Tempo[/b:6d0a8138a8]ToSystemTime não existe; isto pq o nome da função é montado pelo nome do comando. É meio estranho isso, mas é o que ocorre pelo menos no Win2000. Para vc poder alterar o nome da função da api, vc teria que ter o fonte da Kernel32; então acredito que seria um caminho muito difícil.

5-Para implementar a procedure:
Declare:
    procedure WMTimeChange(var Msg:TMessage); message WM_TimeChange;

Depois:
procedure TForm1.WMTimeChange(var Msg:TMessage);
begin
  // Aqui a data/hora foi alterada tanto pelo DOS quanto pelo Windows
end;



Responder

Gostei + 0

17/03/2005

Marco Salles

Blz , mas voce sabe quanto e duro o caminho.... :D :D :D

1) O meu windows é o Xp. E por falar nele como este Sistema e Bom.
Mas este assunto não esta em Voga. O que de fato importa são outors Quinhentos.

Pois Bem , não consegui ainda descobrii o caminho deste arquivo no meu sistema :cry: :cry: :cry:
No meu caso que é o Win2000, ele está em: ´Pasta do Windows\System32\timedate.cpl´


2)
2-Pode ser renomeado pelo Delphi: RenameFile(´Pasta do Windows\System32\timedate.cpl´, ´Pasta do Windows\System32\timedate.xxx´);

Fiz Um Teste e não consegui Renomear.. Criei Uma Pasta [b:74056db993]MudarDeNome[/b:74056db993].. Nela Salvei Um Arquivo Do Word e dei o nome de [b:74056db993]PodeApagar[/b:74056db993]
Escrevi o Seguinte Código no Evento de Um Botão:

procedure TForm1.Button1Click(Sender: TObject);
begin
RenameFile(´C:\MudarDeNome\PodeApagar.txt´,´C:\MudarDeNome\PodeApagar.xxx´);
end;


Emfim, não consegui renomear este Arquivo :cry: :cry: :cry: :cry:

3)
3-É só inverter .xxx p/ .cpl


Faz sentido deste que o Passo 2 seja suficiente...

4)
então acredito que seria um caminho muito difícil.

Pularemos esta parte...

5)
Para implementar a procedure:

Ok, Consegui Implementa-la :P :P :P :P , Mas não consegui implementar a segunda parte da dica :cry: :cry: :cry:

quando essa msg chega é pq a data/hora já foi alterada e aí vc pode resetá-la pela função SetSystemTime.


Como Poderemos então reseta-la :cry: :cry: :cry:

Bem No Geral acredito que dei um passo importante..

Obrigado pela participação.. :P :P :P :P :P :P :P


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar