1、可以采用GetTickCount()函数,该函数的返回值是DWORD型,表示以毫秒为单位的计算机启动后经历的时间间隔。 ?
? DWORD ? dwStart ? = ? GetTickCount(); ?
? DWORD ? dwEnd ? = ? dwStart; ?
? do ?
? { ? ? ?
? ? ? ? MSG ? ? msg; ? ? ?
? ? ? ? GetMessage(&msg,NULL,0,0); ? ? ?
? ? ? ? TranslateMessage(&msg); ? ?
? ? ? ? DispatchMessage(&msg); ? ?
? ? ? ? dwEnd ? = ? GetTickCount(); ? ? ?
? } ? while((dwEnd ? - ? dwStart) ? ? <= ? ? 2000); ? ?
? ?
2、? 一种更精确的微秒级延时: ?
? LARGE_INTEGER ? ? litmp ? ; ?
? LONGLONG ? ? QPart1,QPart2 ? ; ?
? double ? d=0; ?
? QueryPerformanceCounter(&litmp) ? ; ? ?
? // ? 获得初始值 ?
? QPart1 ? = ? litmp.QuadPart ? ; ?
? while ? (d<40)//你想要的时间 ?
? { ?
? ? ? ? ? QueryPerformanceCounter(&litmp) ? ; ? ?
? ? ? ? ? QPart2 ? = ? litmp.QuadPart ? ; ?
? ? ? ? ? d=(double)(QPart2 ? - ? QPart1); ?
? } ?
From:http://topic.csdn.net/t/20050528/23/4042951.html
https://m.sciencenet.cn/blog-379528-307879.html
上一篇:
MFC设置透明对话框下一篇:
VC定时及计时的三种方法