导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

高分求教如何编写vc的延时函数!!

endless 2002-07-23 05:05:26
我想做一个延时函数,该延时函数使用方法如下:

语句1;
语句2;
延时函数;
语句3;
语句4;

该延时函数将使程序原地等待指定长度的时间,时间到时才能执行下一步。
我开始是用sleep函数,但sleep函数将使进程被锁住,无法响应消息,我想编一个
延时函数,在该函数执行期间,仍然可响应消息。
请问如何实现该函数。(注意不要使用settimer,ontimer)


...全文
511 点赞 收藏 16
写回复
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
endless 2002-07-24
感谢hthuguangming的回答,你提供的方法我已经试过,是可行的。
但是唯一不足的是该函数占用过多cpu时间,请教如何降低cpu的利用率,
是在循环中下sleep语句吗。如果用sleep语句,是否会影响线程响应各种
消息。
回复
wgc 2002-07-23
可以采用空循环
回复
anni 2002-07-23
把这些东东放到线程函数......
语句1;
语句2;
延时函数;// 这里用Sleep()就ok//注意大写
语句3;
语句4;
回复
anni 2002-07-23
把这些东东放到线程函数......
语句1;
语句2;
延时函数;// 这里用sleep()就ok
语句3;
语句4;
回复
TombyWu 2002-07-23
建议使用线程
回复
sim 2002-07-23
建议使用线程
回复
nbgyf 2002-07-23
在已解决的栏目中有一篇《精确定时》的文章,瞅瞅
回复
hthuguangming 2002-07-23
void CMainDlg::delay_time(DWORD msecond)
{
DWORD start,nowTime;
start=timeGetTime();
do
{
MSG msg;

if (::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))
{
/* if (msg.message ==WM_QUIT) return;
::TranslateMessage(&msg);
::DispatchMessage(&msg);*/

if (!AfxGetApp()->PumpMessage())
{
::PostQuitMessage(0);
return;
}
nowTime=timeGetTime();
}
} while ((nowTime-start)<msecond);
}
回复
explorer007 2002-07-23
把这些东东放到线程函数......
语句1;
语句2;
延时函数;// 这里用sleep()就ok
语句3;
语句4;
回复
yspei 2002-07-23
sleep(time_number)单位毫秒
回复
BinaryTreeEx 2002-07-23
你要延时的那个函数用线程实现。
回复
xiaodog 2002-07-23
WaitSingleObject
回复
在windows系统下,不可能实现精确的延时,因为它不是实时操作系统。看看这个可以么!!!
void Wait(DWORD time)
{
DWORD start;
DWORD time_i=0;
start=GetTickCount();
while(time_i<=time)
{
time_i=GetTickCount()-start;
}

}
回复
BinaryTreeEx 2002-07-23
你要延时的那个函数用线程实现。
回复
romanticist 2002-07-23
wait()
回复
dycdyc123 2002-07-23
延时函数???

不可能吧!

用一个函数来实现就会大量的占用CPU时间!

Sleep()函数可以的!


还有可以用线程试试??(可以调节时间长短)

ok!
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……