Windows Time

Windows time is the number of milliseconds elapsed since the system started running. This format exists primarily for backward compatibility with 16-bit Windows. To ensure that applications designed for 16-bit Windows continue to run successfully, the GetTickCount function returns the current Windows time.

You typically use GetTickCount to compare the current Windows time with the time returned by the GetMessageTime function. GetMessageTime returns the Windows time when the given message was created. GetTickCount is limited to the resolution of the system timer.

Windows NT 3.5 and later: The system timer runs at approximately 10ms.

Windows NT 3.1: The system timer runs at approximately 16ms.

Windows 95 and later: The system timer runs at approximately 55ms.

If you need a higher resolution timer, use a multimedia timer or a high-resolution timer.

Windows time is stored as a 32-bit value, which means the system can record no more than 2^32 millisecond intervals before the 32-bit value overflows to zero. This is approximately 49.7 days. If you use Windows time, check for the overflow condition when comparing times.

Windows NT: You can use the System Up Time performance counter to obtain the time elapsed since the computer was started.