在线程程序里无限循环?
有没有更好的方法?

解决方案 »

  1.   

    SetTimer(0,1000,0),在OnTimer里实现
      

  2.   

    由于子程序较长,用OnTimer影响其它事件的响应速度,所以想改成线程方式,请指教!
      

  3.   

    SetTimer的最后一个参数也可以不为0,而指向
    VOID CALLBACK TimerProc(
      HWND hwnd,     // handle of window for timer messages
      UINT uMsg,     // WM_TIMER message
      UINT idEvent,  // timer identifier
      DWORD dwTime   // current system time
    );
      

  4.   

    原来是用SetTimer,OnTimer,由于影响其它事件的响应速度,所以想改成线程,请指教。
    定时精度不用很高。请拉一拉
      

  5.   

    另用了一个定时器,定时精度要求高,但受前一个定时器的影响,没办法提高定时精度,所以想把前一个定时器改为线程方式。现在看来效果较好,另一个定时器的精度提高了。我是将定时器子程序改为线程子程序,再在线程子程序中加一个while(1)语句,让它无限循环。有没有更好的方法?
      

  6.   

    To akiko(弥弥) :
    "SetTimer的最后一个参数也可以不为0,而指向VOID CALLBACK TimerProc"
    用这种方法是不是可以避免影响其它事件的响应速度?多谢!
      

  7.   

    MSDN上的解释:
    If lpTimerFunc is NULL, the system posts a WM_TIMER message to the application queue. 
    否则,就不发出这个消息,直接调用你的TimerProc