Функция GetTickCount (sysinfoapi.h)

Извлекает количество миллисекундах, прошедших с момента запуска системы, до 49,7 дней.

Синтаксис

DWORD GetTickCount();

Возвращаемое значение

Возвращаемое значение — это количество миллисекундах, прошедших с момента запуска системы.

Комментарии

Разрешение функции GetTickCount ограничено разрешением системного таймера, которое обычно находится в диапазоне от 10 до 16 миллисекундах. На разрешение функции GetTickCount не влияют корректировки, внесенные функцией GetSystemTimeAdjustment .

Затраченное время сохраняется в виде значения DWORD . Таким образом, время будет равно нулю, если система непрерывно работает в течение 49,7 дней. Чтобы избежать этой проблемы, используйте функцию GetTickCount64 . В противном случае проверка для условия переполнения при сравнении времени.

Если вам нужен таймер с более высоким разрешением, используйте таймер мультимедиа или таймер с высоким разрешением.

Чтобы получить время, прошедшее с момента запуска компьютера, получите счетчик Время работы системы в данных о производительности в разделе реестра HKEY_PERFORMANCE_DATA. Возвращаемое значение представляет собой 8-байтовое значение. Дополнительные сведения см. в статье Performance Counters.

Чтобы получить время, затраченное системой в рабочем состоянии с момента запуска, используйте функцию QueryUnbiasedInterruptTime .

Примечание Функция QueryUnbiasedInterruptTime выдает разные результаты в отладочных сборках Windows , так как количество прерываний и число тактов расширены примерно на 49 дней. Это помогает выявлять ошибки, которые могут не возникать, пока система не будет работать в течение длительного времени. Проверенная сборка доступна подписчикам MSDN на веб-сайте Microsoft Developer Network (MSDN).
 

Примеры

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header sysinfoapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Функции времени

Служба времени Windows