Função GetTickCount (sysinfoapi.h)

Recupera o número de milissegundos decorridos desde que o sistema foi iniciado, até 49,7 dias.

Sintaxe

DWORD GetTickCount();

Retornar valor

O valor retornado é o número de milissegundos decorridos desde que o sistema foi iniciado.

Comentários

A resolução da função GetTickCount é limitada à resolução do temporizador do sistema, que normalmente está no intervalo de 10 milissegundos a 16 milissegundos. A resolução da função GetTickCount não é afetada por ajustes feitos pela função GetSystemTimeAdjustment .

O tempo decorrido é armazenado como um valor DWORD . Portanto, o tempo será encapsulado em torno de zero se o sistema for executado continuamente por 49,7 dias. Para evitar esse problema, use a função GetTickCount64 . Caso contrário, marcar para uma condição de estouro ao comparar horários.

Se você precisar de um temporizador de resolução mais alta, use um temporizador multimídia ou um temporizador de alta resolução.

Para obter o tempo decorrido desde que o computador foi iniciado, recupere o contador Tempo de Atividade do Sistema nos dados de desempenho na chave do Registro HKEY_PERFORMANCE_DATA. O valor retornado é um valor de 8 bytes. Para obter mais informações, consulte Performance Counters.

Para obter o tempo gasto pelo sistema no estado de trabalho desde que foi iniciado, use a função QueryUnbiasedInterruptTime .

Nota A função QueryUnbiasedInterruptTime produz resultados diferentes em builds de depuração ("verificados") do Windows, pois a contagem de tempo de interrupção e a contagem de tiques são avançadas em aproximadamente 49 dias. Isso ajuda a identificar bugs que podem não ocorrer até que o sistema esteja em execução há muito tempo. O build verificado está disponível para assinantes do MSDN por meio do site do MSDN (Microsoft Developer Network ).
 

Exemplos

// 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 Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho sysinfoapi.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Funções de tempo

Tempo do Windows