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 von 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 nicht durch Anpassungen durch die GetSystemTimeAdjustment-Funktion beeinflusst.

Die verstrichene Zeit wird als DWORD-Wert gespeichert. Daher wird die Zeit auf 0 umgebrochen, 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 hochauflösenden Timer.

Um die seit dem Start des Computers verstrichene Zeit abzurufen, rufen Sie den Zähler System Up Time 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 Funktion QueryUnbiasedInterruptTime , 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 lange ausgeführt wurde. Der überprüfte Build steht MSDN-Abonnenten über die MSDN-Website (Microsoft Developer Network) zur Verfügung.
 

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

Anforderung Wert
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 (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Zeitfunktionen

Windows-Zeitdienst