What are the differences between these three functions? timeGetTime() and GetTickCount() seem exactly the same because they both return a DWORD value that represents the number of milliseconds the system has been operating for. Looking on msdn i found getSystemTime() returns the ms member of the MMTIME structure, but they all ultimately do the same thing, and I'm not sure how they are different.