VC中如何实现延时功能?

解决方案 »

  1.   

    如何在程序中延时:
    1 sleep(2000)2 sleep简单,但是如果延时比较长,系统就如同死机,下面的方法能在延时的时候处理消息:COleDateTime starttime = COleDateTime::GetCurrentTime();
    COleDateTimeSpan endtime = COleDateTime::GetCurrentTime()-starttime;
    while(endtime.GetTotalSeconds()<2)
    {
       MSG msg;
       GetMessage(&msg,0,0);
       PreTranslateMessage(&msg);
       endtime = COleDateTime::GetCurrentTime()-starttime;
    }3.延时30毫秒 clock_t diff=30;
    clock_t t=clock();
    while(clock()< t+diff);
      

  2.   

    开个线程专门用于延时,sleep OnTimer
      

  3.   

    同意楼上,一般尽量在线程里使用Sleep