GetTickCount-Funktion (sysinfoapi.h)

Ruft die Anzahl der Millisekunden ab, die seit dem Start des Systems verstrichen sind( bis zu 49,7 Tage).

Syntax

DWORD GetTickCount();

Rückgabewert

Der Rückgabewert ist die Anzahl der Millisekunden, die seit dem Start des Systems verstrichen sind.

Hinweise

Die Auflösung der GetTickCount-Funktion ist auf die Auflösung des Systemtimers beschränkt, die in der Regel im Bereich von 10 Millisekunden bis 16 Millisekunden liegt. Die Auflösung der GetTickCount-Funktion wird durch Anpassungen der GetSystemTimeAdjustment-Funktion nicht beeinflusst.

Die verstrichene Zeit wird als DWORD-Wert gespeichert. Daher wird die Zeit auf Null umbrochen, wenn das System 49,7 Tage lang kontinuierlich ausgeführt wird. Um dieses Problem zu vermeiden, verwenden Sie die GetTickCount64-Funktion . Überprüfen Sie andernfalls beim Vergleichen der Zeiten auf eine Überlaufbedingung.

Wenn Sie einen Timer mit höherer Auflösung benötigen, verwenden Sie einen Multimedia-Timer oder einen Timer mit hoher Auflösung.

Um die seit dem Starten des Computers verstrichene Zeit abzurufen, rufen Sie den System Up Time-Indikator in den Leistungsdaten im Registrierungsschlüssel HKEY_PERFORMANCE_DATA ab. Der zurückgegebene Wert ist ein 8-Byte-Wert. Weitere Informationen finden Sie unter Performance Counters.

Verwenden Sie die QueryUnbiasedInterruptTime-Funktion , um die Zeit abzurufen, die das System seit dem Start im Arbeitszustand verbracht hat.

Hinweis Die QueryUnbiasedInterruptTime-Funktion erzeugt unterschiedliche Ergebnisse bei Debugbuilds ("überprüft") von Windows, da die Interruptzeitanzahl und die Tickanzahl um ungefähr 49 Tage erweitert werden. Dies hilft, Fehler zu identifizieren, die möglicherweise erst auftreten, wenn das System über einen längeren Zeitraum ausgeführt wurde. Der überprüfte Build ist für MSDN-Abonnenten über die Msdn-Website (Microsoft Developer Network) verfügbar.
 

Beispiele

// calculate a 't' value that will linearly interpolate from 0 to 1 and back every 20 seconds
DWORD currentTime = GetTickCount();
if ( m_startTime == 0 )
{
    m_startTime = currentTime;
}
float t = 2 * (( currentTime - m_startTime) % 20000) / 20000.0f;
if (t > 1.0f)
{
    t = 2 - t;
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile sysinfoapi.h (windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Zeitfunktionen

Windows-Zeitdienst