在一个循环里面用::SLEEP()函数,很好用的
要在不同的时间触发,你可以循环嵌套

解决方案 »

  1.   

    在OnTimer()里边只发一个时间同步信号,可以用HEVENT 
    在对对应的信号建立线程,在线程里作相应
    这样可以节省资源的没人愿意用sleep(),白白浪费资源!
      

  2.   

    lant(蓝特)的意见最可行!就是比如说设置一个一秒的定时器(当然这个比如说),然后你的定时器需要两秒,三秒、五秒,那么你可再加一个计数器,当计数器达到你的要求数目时,再执行相应的程序段不就可以了吗?
      

  3.   

    3点:
    1)为什么不考虑在开几个新的线程;
    2)OnTimer()的触发时间是不准确的;如果你对事件要求比较严格,最好自己写代码控制;
    3)在一个OnTimer()函数里面,完全可以处理多个触发事件,根据创建的Id不同可以区分;
      

  4.   

    这个要看你的需求了!SetTimer()
    也不是很浪费资源呀!
      

  5.   

    to westlingsnow(西泠雪) 我的事件的时间间隔不是几秒有的很长可能要几个小时
      

  6.   

    可以创建不同的ID。确实。
    如果你想少用几个计时器以节省资源的话,lant(蓝特)的意见应该不错。
    iCounter % iDistance 来获得是哪个记时器
      

  7.   

    各位是不是这样:
    void CSecondDlg::OnTimer(UINT nIDEvent) 
    {

    if(nIDEvent==MyTimerID1)
    {
     得到系统时间
      if(系统时间==我的事件时间1)//再次声明我的事件有好多
    {
    }
    else if(系统时间==我的事件时间1)
    {}
    }
          else if(nIDEvent==MytimerID2)
    {}
    CDialog::OnTimer(nIDEvent);
    }