WM_TIMER的优先级比较低,只有当消息队列中没有其他高优先级的消息的时候才会去处理它。

解决方案 »

  1.   

    这当然不准了。
    如果你只计时,你可以这样
    第一个按钮
    tickcount = GetTickCount();
    第二个按钮
    tickcount = GetTickCount() - tickcount;
      

  2.   

    WM_TIMER消息优先级很低, 所以每次都会存在误差, 你这个是典型的误差累积.
    要显示时间, 要么直接读取系统时间来处理, 要么使用2楼的方法.
    使用定时器计时,是不好的.