![]() |
System boot time
Hallo
Suche einfache Delphi funktion, welche mir die System-Start-Zeit (System Boot Time) als TDateTime zurückgibt. Also wann wurde der PC das letzte mal gestartet ? Danke |
Re: System boot time
Eine einfache Delphifunktion gibt's nicht,
aber schau mal in die DP-CodeLib, dort gibt es irgendwo eine kleine Sammlung solcher Funktionen. Die billigste Variante ist GetTickCount. GetTickCount wird beim Windowsstart (WindowsBootTime) mit 0 gestartet und läuft in Millisekunden weiter. also Jetzt - GetTickCount = BootTime
Delphi-Quellcode:
OK, Hibernate und Standby verfällschen diesen Wert, aber dafür lesen andere Funktionen richtigen Wert irgendwo aus (z.B. aus der Registry) ... also einfach mal suchen.
BootTime := Now - (GetTickCount / 86400000)
[add] [dp]*uptime[/dp] [cl]*uptime[/cl] z.B.: ![]() |
Re: System boot time
Hallo
Erledigt. Code auch in CodeLibrary zur Verfügung gestellt... Problem selbst auf folgende Art gelöst ...
Delphi-Quellcode:
function fctSystemBootUpTime:TDateTime;
var n1,n2: Int64; begin // local init Result := 0.0; n1 := 0; n2 := 0; // local main QueryPerformanceFrequency(n1); // counts per second QueryPerformanceCounter(n2); // counts since system boot time if (n1<>0) then begin n1 := Round(n2/n1); // seconds since system boot time //24 hours are how much seconds? 60sec*60min*24hours = 86400 sec/day Result := Now - (n1/86400); end; end; |
Re: System boot time
Wann läuft denn der counter über :gruebel: ? Ich habe das Gefühl, dass dies recht schnell passiert.
Edit: Ok. Mein Gefühl für Zahlen in diesen Bereichen ist miserabel. (Mit meinem counter schaffe ich es auf 209 Jahre) |
Re: System boot time
Ja, der Counter läuft SEHR schnell über, auf meinem Pentium M 1,7GHz braucht er dazu nur 163412 Jahre. :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz