Einzelnen Beitrag anzeigen

DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#1

Zeitermittlung des letzten Windows-Starts funktioniert nicht

  Alt 9. Mär 2018, 18:47
Hallo,

ich möchte an einer Stelle in meinem Programm ermitteln lassen, wann Windows zuletzt hochgefahren wurde bzw. wie lange der Startvorgang her ist. Dafür verwende ich folgende Funktion:

Delphi-Quellcode:
function GetWindowsUpTime : string;
const ticksperhour : LongWord = 1000 * 60 * 60;
      ticksperminute : LongWord = 1000 * 60;
      tickspersecond : LongWord = 1000;
var t, h, m, s : LongWord;
begin
  t:=GetTickCount;
  h:=t div ticksperhour;
  Dec(t, h * ticksperhour);
  m:=t div ticksperminute;
  Dec(t, m * ticksperminute);
  s:=t div tickspersecond;
  Result:=IntToStr(h)+'h'+IntToStr(m)+'m'+IntToStr(s)+'s';
end;
Das klappt meistens auch ganz gut, aber auf einem Testsystem unter Windows 10 x64 liefert GetTickCount den Wert 193349921, was in Folge dieser Auswertung "53h 42m 29s" ergibt - das stimmt natürlich nicht.

Was kann man da optimieren bzw. hat jemand eine Idee, woran das liegen kann?
Devid
Devid Espenschied
Pre-sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN
  Mit Zitat antworten Zitat