Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Sonstiges (https://www.delphipraxis.net/45-library-sonstiges/)
-   -   Rausfinden wie lange Windows schon gebootet ist (https://www.delphipraxis.net/6718-rausfinden-wie-lange-windows-schon-gebootet-ist.html)

Daniel B 19. Jul 2003 21:32


Rausfinden wie lange Windows schon gebootet ist
 
Hallo,

hiermit kann man herrausfinden, wie lange Windows schon läuft.
Delphi-Quellcode:
function GetWinUpTime: String;

const
  Days: Integer = 1000 * 60 * 60 * 24;
  Hours: Integer = 1000 * 60 * 60;
  Minutes: Integer = 1000 * 60;
  Seconds: Integer = 1000;

var
  iTicks, iDay, iHour, iMin, iSec: Integer;
begin
  iTicks := GetTickCount;
  iDay := iTicks div Days; //Tage
  Dec(iTicks, iDay * Days);
  iHour := iTicks div Hours; //Stunden
  Dec(iTicks, iHour * Hours);
  iMin := iTicks div Minutes; //Minuten
  Dec(iTicks, iMin * Minutes);
  iSec := iTicks div Seconds; //Sekunden
  Result := IntToStr(iDay) + ' Tage, ' +
            IntToStr(iHour) + ' Stunden, ' +
            IntToStr(iMin) + ' Minuten, ' +
            IntToStr(iSec) + ' Sekunden';
end;
Und so kann man es aufrufen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(GetWinUpTime);
end;
Grüsse, Daniel :hi:

Gast 19. Jul 2003 21:54

Re: Rausfinden wie lange Windows schon gebootet ist
 
Was ist, wenn Windows länger als 49,7 Tage oder länger läuft?
Ich habe das zwar in meinem Programm Uptime auch benutzt, aber sauberer wäre eine Methode, bei der der entsprechende Registry-Wert für die Bootup-Zeit ausgelesen und die Differenz berechnet wird (NT!).
Für 9x mag ich es noch gelten lassen, daß kein System so lange läuft! Aber nicht bei NT ... es gibt Rechner die über Jahre laufen.

Zitat:

The elapsed time is stored as a DWORD value. Therefore, the time will wrap around to zero if the system is run continuously for 49.7 days.

[...]

To obtain the time elapsed since the computer was started, retrieve the System Up Time counter in the performance data in the registry key HKEY_PERFORMANCE_DATA. The value returned is an 8-byte value. For more information, see Performance Monitoring.
BTW: Seid wird aber mit T (seit) geschrieben ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 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-2025 by Thomas Breitkreuz