QueryPerformanceCounter()这个函数返回高精确度性能计数器的值,它可以以微妙为单位计时.

// 微秒级延时   参数: 微秒
void Control::MySleep(DWORD dwUs)
{
	LARGE_INTEGER    dwStart;

	LARGE_INTEGER     dwCurrent;

	LARGE_INTEGER     dwFrequence;

	LONGLONG              counter;

	if (!QueryPerformanceFrequency(&dwFrequence))
	{
		return;
	}

	QueryPerformanceCounter(&dwStart);

	counter = dwFrequence.QuadPart * dwUs / 1000 / 1000;

	dwCurrent = dwStart;

	while ((dwCurrent.QuadPart - dwStart.QuadPart) < counter)
	{
		QueryPerformanceCounter(&dwCurrent);
	}
}
	while (1)
	{
		SYSTEMTIME sys;
		GetLocalTime(&sys);
		printf(\"%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\\n\", sys.wYear, sys.wMonth, sys.wDay, sys.wHour, sys.wMinute, sys.wSecond, sys.wMilliseconds, sys.wDayOfWeek);

		MySleep(1000);

		GetLocalTime(&sys);
		printf(\"%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\\n\", sys.wYear, sys.wMonth, sys.wDay, sys.wHour, sys.wMinute, sys.wSecond, sys.wMilliseconds, sys.wDayOfWeek);

	}

\"在这里插入图片描述\"

收藏 打印