GetTickCount, fonction (sysinfoapi.h)

Récupère le nombre de millisecondes écoulées depuis le démarrage du système, jusqu’à 49,7 jours.

Syntaxe

DWORD GetTickCount();

Valeur de retour

La valeur de retour est le nombre de millisecondes qui se sont écoulées depuis le démarrage du système.

Remarques

La résolution de la fonction GetTickCount est limitée à la résolution du minuteur système, généralement comprise entre 10 millisecondes et 16 millisecondes. La résolution de la fonction GetTickCount n’est pas affectée par les ajustements effectués par la fonction GetSystemTimeAdjustment.

Le temps écoulé est stocké sous la forme d’une valeur de DWORD. Par conséquent, le temps est arrondi à zéro si le système est exécuté en continu pendant 49,7 jours. Pour éviter ce problème, utilisez la fonction GetTickCount64. Sinon, recherchez une condition de dépassement de capacité lors de la comparaison des heures.

Si vous avez besoin d’un minuteur de résolution plus élevé, utilisez un minuteur multimédia ou un minuteur haute résolution.

Pour obtenir le temps écoulé depuis le démarrage de l’ordinateur, récupérez le compteur de temps d’utilisation du système dans les données de performances de la clé de Registre HKEY_PERFORMANCE_DATA. La valeur retournée est une valeur de 8 octets. Pour plus d’informations, consultez compteurs de performances.

Pour obtenir le temps passé par le système dans l’état de travail depuis son démarrage, utilisez la fonction QueryUnbiasedInterruptTime.

Remarque La fonction QueryUnbiasedInterruptTime produit des résultats différents sur les builds de débogage (« coché ») de Windows, car le nombre d’interruptions et le nombre de graduations sont avancés d’environ 49 jours. Cela permet d’identifier les bogues qui peuvent ne pas se produire tant que le système n’a pas été en cours d’exécution depuis longtemps.
 

Exemples

// 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;
}

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
serveur minimum pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
plateforme cible Windows
d’en-tête sysinfoapi.h (include Windows.h)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

fonctions de temps

de temps Windows