Share via


Función GetTickCount (sysinfoapi.h)

Recupera el número de milisegundos que han transcurrido desde que se inició el sistema, hasta 49,7 días.

Sintaxis

DWORD GetTickCount();

Valor devuelto

El valor devuelto es el número de milisegundos que han transcurrido desde que se inició el sistema.

Comentarios

La resolución de la función GetTickCount se limita a la resolución del temporizador del sistema, que suele estar en el intervalo de 10 milisegundos a 16 milisegundos. La resolución de la función GetTickCount no se ve afectada por los ajustes realizados por la función GetSystemTimeAdjustment .

El tiempo transcurrido se almacena como un valor DWORD . Por lo tanto, el tiempo se ajustará a cero si el sistema se ejecuta continuamente durante 49,7 días. Para evitar este problema, use la función GetTickCount64 . De lo contrario, compruebe si hay una condición de desbordamiento al comparar los tiempos.

Si necesita un temporizador de mayor resolución, use un temporizador multimedia o un temporizador de alta resolución.

Para obtener el tiempo transcurrido desde que se inició el equipo, recupere el contador Tiempo de disponibilidad del sistema en los datos de rendimiento de la clave del Registro HKEY_PERFORMANCE_DATA. El valor devuelto es un valor de 8 bytes. Para más información, consulte Performance Counters.

Para obtener el tiempo que el sistema ha invertido en el estado de trabajo desde que se inició, use la función QueryUnbiasedInterruptTime .

Nota La función QueryUnbiasedInterruptTime genera resultados diferentes en compilaciones de depuración ("activadas") de Windows, ya que el recuento de tiempo de interrupción y el recuento de tics están avanzados aproximadamente 49 días. Esto ayuda a identificar errores que podrían no producirse hasta que el sistema se haya estado ejecutando durante mucho tiempo. La compilación activada está disponible para los suscriptores de MSDN a través del sitio web de Microsoft Developer Network (MSDN).
 

Ejemplos

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado sysinfoapi.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Funciones de hora

Hora de Windows