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?