pegar a hora do micro??
sera que tem como pegar a hora em que o micro foi desligado ???
e pegar ela quando ele for ligado??
e pegar ela quando ele for ligado??
Zumbi
Curtidas 0
Respostas
Rômulo Barros
10/03/2004
Para isso, basta criar uma aplicação ´Oculta´ (Background) e no evento OnClose ou OnDestroy, capturar a hora e armazenar em um arquivo texto. Esta aplicação tb terá q ser executada no boot do sistema para que a hora em que o computador foi desligado, possa ser captuda. Para o boot do windows, utilize o registro (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run) :twisted: :twisted: :twisted: :twisted: :twisted:
GOSTEI 0
Skaarj
10/03/2004
sim.. precisamos primeiro interceptar o desligamento do Windows.. e dae gravar a hora, agora onde voce vai salvar se é em database ou INI, escolhe
Agora quando ligar voce busca no teu INI ou na tua database o registro referente a essa hr..
[a dica do desligamento foi feita por Marco Antonio do clubedelphi][/code]
private
{ Private declarations }
procedure WMQueryEndSession (var Msg : TWMQueryEndSession); message WM_QueryEndSession;
.
.
.
procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession);
begin
[b]//aqui voce coloca onde salvar a hora[/b]
Msg.Result := 1; //permite a continuidade do desligamento
end;
Agora quando ligar voce busca no teu INI ou na tua database o registro referente a essa hr..
[a dica do desligamento foi feita por Marco Antonio do clubedelphi][/code]
GOSTEI 0
Zumbi
10/03/2004
como que eu faço para executar a aplicação no boot???
GOSTEI 0
Skaarj
10/03/2004
vc só vai iniciar a aplicação delphi qndo carregar o Windowns..
pode por na pasta do INICIAR ou entao fazer uma referencia nessa chave do registro:
[b:5393851b6a]HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run[/b:5393851b6a]
olha pra ver a qnto tempo o win foi ligado[DTDelphi]:
pode por na pasta do INICIAR ou entao fazer uma referencia nessa chave do registro:
[b:5393851b6a]HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run[/b:5393851b6a]
olha pra ver a qnto tempo o win foi ligado[DTDelphi]:
- Como saber há quanto tempo o WINDOWS foi inicializado?
Use a função GetTickCount da API do Windows. Ela retorna o intervalo em milisegundos.
Obs.: Esta função é útil quando se quer determinar o intervalo de tempo decorrido durante uma ação de um aplicativo.
var TempoInicial, TempoFinal, Intervalo: Integer begin TempoInicial := GetTickCount; ... // código a ser executado ... TempoFinal := GetTickCount; Intervalo := TempoFinal - TempoInicial; end.
GOSTEI 0
Zumbi
10/03/2004
ok... mais uma coisa nao sei se nao teria que fazer um topico diferente mas...
tem como pegar a hora que se desliga o monitor????
tem como pegar a hora que se desliga o monitor????
GOSTEI 0
Lucas Silva
10/03/2004
tem como pegar a hora que se desliga o monitor????
ai você complicou mais ainda.....
GOSTEI 0
Zumbi
10/03/2004
desculpa....
esquecem essa parte:
[quote = ´Zumbi´]tem como pegar a hora que se desliga o monitor????
esquecem essa parte:
[quote = ´Zumbi´]tem como pegar a hora que se desliga o monitor????
como que eu posso fazer isso:
[quote =´Undeclared Identifier´]Esta aplicação tb terá q ser executada no boot do sistema para que a hora em que o computador foi desligado, possa ser captuda. Para o boot do windows, utilize o registro (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)
GOSTEI 0
Skaarj
10/03/2004
Segue um exemplo de ler valores das chaves de registro:
procedure frmMain.LerRegistro; const Raiz : String = ?Software\Programa´; var Registro : TRegistry; begin // Chama o construtor do objeto Registro := TRegistry.Create; with Registro do begin // Somente abre se a chave existir if OpenKey (Raiz, False) then // Envia as informações ao form, vendo se os valores existem, primeiramente... if ValueExists (´Largura´) then Width := ReadInteger (´Largura´); if ValueExists (´Altura´) then Height := ReadInteger (´Altura´); if ValueExists (´Esquerda´) then Left := ReadInteger (´Esquerda´); if ValueExists (´Topo´) then Top := ReadInteger (´Topo´); // Envia as informações para as caixas Abrir e Salvar. OpenDialog1.InitialDir := ReadString (´Abrir Inicial´); SaveDialog1.InitialDir := ReadString (´Salvar Inicial´); // Fecha a chave e o objeto Registro.CloseKey; Registro.Free; end;
GOSTEI 0
Zumbi
10/03/2004
valeu vamos ver o que eu consigo.. fazer...
GOSTEI 0
Skaarj
10/03/2004
Eu vi uma parada de desligar o monitor, v se t ajuda:
uses Windows
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);
//desligar
SendMessage(Application.Handle, WM_SYSCOMMAND,
SC_MONITORPOWER, -1);
//ligar
uses Windows
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);
//desligar
SendMessage(Application.Handle, WM_SYSCOMMAND,
SC_MONITORPOWER, -1);
//ligar
GOSTEI 0
Neguete
10/03/2004
[quote:4b795d5fb6=´Undeclared Identifier´]Para isso, basta criar uma aplicação ´Oculta´ (Background)...[/quote:4b795d5fb6]
Como se faz para para rodar uma aplicação em Background ??
Como se faz para para rodar uma aplicação em Background ??
GOSTEI 0
Kyonak
10/03/2004
form1.hide deixa a aplicação em background.
GOSTEI 0
Zumbi
10/03/2004
e como fazela voltar do hide??
GOSTEI 0
Kyonak
10/03/2004
form1.show
GOSTEI 0