例如我用SetTimer(0,5000,NULL);创建一个定时器
但现在我想问问在这5秒之间,可不可以用个什么方法pause一下,就是定时器停止计时,待条件满足的时候再开始....
如果用Sleep的话效果不好,会使整个程序失去响应的...我要的是在计时器pause的时候窗口还可以接受其他的消息....

解决方案 »

  1.   

    可以设置一个全局变量
    在满足pause,设置FALSE
    然后killTime
    想重新计时,设置TRUE
    再SetTimer
      

  2.   

    呵呵,使用Sleep就是好方法,不过不一定要在主线程中实现
      

  3.   

    可能我还没说得让大家明白
    一开始我SetTimer()的时候,指定的5000是固定的了...
    如果用了KillTimer之后再SetTimer的话,我就不知道怎么获取在满足pause条件的时候已经过了多少时间,也就不知道当再SetTimer的时候,我的时间间隔该设多少了....
    另外,TO:qrlvls(≌AIR⌒LIKE) (≤和空气一样帅≥√)
    你的意思我不是好明白
    能把你的想发写个代码举个例吗??
      

  4.   

    那你至少要用2个定时器,一个5000,一个小于5000,第二个定时多少取决于你pause第一个timer时计算已经经过的时间要精确的微秒数,在pause第一个定时器的时候settimer第二个,可以取100微秒