Avatar billede hclarsen Nybegynder
03. november 2005 - 22:28 Der er 5 kommentarer og
1 løsning

Hvornår computer sidst har været tændt

Hej alle, hvordan kan man finde ud af hvornår computeren sidst har været tændt?
Avatar billede stone Forsker
03. november 2005 - 23:36 #1
med denne funktion....

function UpTime: string;
const
  ticksperday: Integer    = 1000 * 60 * 60 * 24;
  ticksperhour: Integer  = 1000 * 60 * 60;
  ticksperminute: Integer = 1000 * 60;
  tickspersecond: Integer = 1000;
var
  t:          Longword;
  d, h, m, s: Integer;
begin
  t := GetTickCount;

  d := t div ticksperday;
  Dec(t, d * ticksperday);

  h := t div ticksperhour;
  Dec(t, h * ticksperhour);

  m := t div ticksperminute;
  Dec(t, m * ticksperminute);

  s := t div tickspersecond;

  Result := 'Computeren har været tændt i: ' + IntToStr(d) + ' Dage ' + IntToStr(h) + ' Timer ' + IntToStr(m) +
    ' Minutter ' + IntToStr(s) + ' Sekunder';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Lines.LoadFromFile('oppetid.txt');
Memo1.Lines.Add(datetostr(now));
Memo1.Lines.Add(uptime);
Memo1.Lines.Add(#09);
Avatar billede stoney Nybegynder
03. november 2005 - 23:39 #2
stone> skal du ikke lige trække "now" fra ?

Stoney
Avatar billede tolderlund Nybegynder
04. november 2005 - 12:41 #3
Nej, for GetTickCount returnerer antal millisekunder siden boot.
Avatar billede hclarsen Nybegynder
04. november 2005 - 13:35 #4
Den funktion viser jo uptime?
Jeg tænkte mere i retningen af en funktion, som viste hvornår computeren sidst har været tændt - altså hvornår computeren sidst var tændt før jeg tændte den.
Avatar billede tolderlund Nybegynder
04. november 2005 - 15:23 #5
Den information gemmer windows ikke nogen steder.
Og dog, når jeg tænker mig lidt om, så skriver windows faktisk en række linjer i eventloggen ved boot, der kan man se efter. Men det kan sikkert give lidt hovedbrud for der er ikke en bestemt entry man kan kigge efter, og det gælder kun for NT platformen. Det simpleste ville være at lave et lille formløst program der køres ved boot via HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run og gemmer tidspunktet i en fil eller reg.basen hvor du så kan læse tiden når du har brug for det.
Avatar billede stone Forsker
08. november 2005 - 13:55 #6
dato og tidspunkt hvornår pc'en sidst har været tændt er i windows\sytem32\config\system.log

jeg har været inde på nogle vb sider og de bruger den fil som reference da sidste bootup er = filens datetime.

men det er rigtigt som tolderlund siger at den er gemt i registry hvor den ligger som binær værdi
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester