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 correspond au 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, qui est 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 forme de valeur 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, case activée pour une condition de dépassement de capacité lors de la comparaison des heures.

Si vous avez besoin d’un minuteur de résolution supérieure, 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 Temps de fonctionnement 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 à l’état de fonctionnement depuis son démarrage, utilisez la fonction QueryUnbiasedInterruptTime .

Note La fonction QueryUnbiasedInterruptTime produit des résultats différents sur les builds de débogage (« vérifiée ») de Windows, car le nombre de temps d’interruption 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’est pas en cours d’exécution depuis longtemps. La build vérifiée est disponible pour les abonnés MSDN via le site Web MSDN (Microsoft Developer Network).
 

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête sysinfoapi.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Fonctions de temps

Horloge Windows