Funzione GetTickCount (sysinfoapi.h)

Recupera il numero di millisecondi trascorsi dall'avvio del sistema, fino a 49,7 giorni.

Sintassi

DWORD GetTickCount();

Valore restituito

Il valore restituito è il numero di millisecondi trascorsi dall'avvio del sistema.

Osservazioni

La risoluzione del funzione GetTickCount è limitata alla risoluzione del timer di sistema, che in genere è compreso nell'intervallo di 10 millisecondi a 16 millisecondi. La risoluzione della funzione di GetTickCount non è influenzata dalle modifiche apportate dalla funzione GetSystemTimeAdjustment.

Il tempo trascorso viene archiviato come valore DWORD. Pertanto, il tempo verrà eseguito intorno a zero se il sistema viene eseguito continuamente per 49,7 giorni. Per evitare questo problema, usare la funzione getTickCount64 . In caso contrario, verificare la presenza di una condizione di overflow durante il confronto dei tempi.

Se è necessario un timer con risoluzione superiore, usare un timer multimediale o un timer ad alta risoluzione.

Per ottenere il tempo trascorso dall'avvio del computer, recuperare il contatore Tempo di attività di sistema nei dati sulle prestazioni nella chiave del Registro di sistema HKEY_PERFORMANCE_DATA. Il valore restituito è un valore a 8 byte. Per altre informazioni, vedere contatori delle prestazioni.

Per ottenere il tempo trascorso dal sistema nello stato di lavoro dall'avvio, usare la funzione QueryUnbiasedInterruptTime .

Nota La funzione QueryUnbiasedInterruptTime produce risultati diversi nelle build di debug ("controllate") di Windows, perché il conteggio dei tempi di interrupt e il conteggio dei tick sono avanzati di circa 49 giorni. Ciò consente di identificare i bug che potrebbero non verificarsi fino a quando il sistema non è stato eseguito per molto tempo.
 

Esempi

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

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [app desktop | App UWP]
server minimo supportato Windows 2000 Server [app desktop | App UWP]
piattaforma di destinazione Finestre
intestazione sysinfoapi.h (include Windows.h)
libreria Kernel32.lib
dll Kernel32.dll

Vedere anche

funzioni temporali

ora di Windows