VC函数中的延时操作

donggaoqiang52

donggaoqiang52

2016-02-19 20:11

下面请跟着图老师小编一起来了解下VC函数中的延时操作,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

  VC函数中的延时操作

  我在这里把论坛里能见到的几种延时方式总结一下。

COleDateTime  start_time = COleDateTime::GetCurrentTime();

 COleDateTimeSpan  end_time = COleDateTime::GetCurrentTime() - start_time; 

while(end_time.GetTotalSeconds()  =  2)

 {    MSG  msg;    GetMessage(&msg,NULL,0,0);  

 TranslateMessage(&msg);

   DispatchMessage(&msg);   

end_time = COleDateTime::GetCurrentTime() - start_time;  }

  还有一点说明,因为COleDateTimeSpan类的成员函数还有:GetTotalMinutes、GetTotalHours、GetTotalDays,能够实现更大时间段的延时。

    往更小的时间跨度上说,执行毫秒级的延时用GetTickCount就行:DWORD dwStart = GetTickCount();DWORD dwEnd = dwStart;do{    MSG  msg;    GetMessage(&msg,NULL,0,0);    TranslateMessage(&msg);    DispatchMessage(&msg);    dwEnd = GetTickCount();  } while((dwEnd - dwStart)  =  2000);

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

    然后是微秒级延时:LARGE_INTEGER  litmp ;LONGLONG  QPart1,QPart2 ;double d=0;QueryPerformanceCounter(&litmp) ; // 获得初始值QPart1 = litmp.QuadPart ;while (d40)//你想要的时间{    QueryPerformanceCounter(&litmp) ;    QPart2 = litmp.QuadPart ;    d=(double)(QPart2 - QPart1);}。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  最后,如果还不能满足,那就去做时钟周期的延时吧:

#define NOP_COUNT 3//需要自己根据NOP及LOOP的指令周期计算.__asm {  MOV ECX, NOP_COUNTDELAY: NOP  LOOP DELAY }不过,用VC做这个工作是不是有点……

展开更多 50%)
分享

猜你喜欢

VC函数中的延时操作

编程语言 网络编程
VC函数中的延时操作

VC中对office的操作

编程语言 网络编程
VC中对office的操作

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

vc中显示bmp常用的几个函数介绍

编程语言 网络编程
vc中显示bmp常用的几个函数介绍

VC++ 中对注册表的操作

编程语言 网络编程
VC++ 中对注册表的操作

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

SQL Server 2005中XML操作函数详解

Web开发
SQL Server 2005中XML操作函数详解

延时重复执行函数 lLoopRun.js

Web开发
延时重复执行函数 lLoopRun.js

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何关闭Mac应用程序的Power Nap功能

如何关闭Mac应用程序的Power Nap功能

Vc6中实现CComboBox的自动完成功能

Vc6中实现CComboBox的自动完成功能
下拉加载更多内容 ↓