请高手解决一个关于ontimer不响应的有关问题

请高手解决一个关于ontimer不响应的问题
我在调试一个程序,就是在写一个com口与单片机串行通讯的程序,在正常操作的情况下,通讯一切正常。
但是当通讯到一半的时候就是断开通讯的时候,这时候不响应ontimer,我是通过settimer()这个函数进行通讯超时和通讯中断的判断。现在进不了ontimer,就无法判断通讯是否中断了!郁闷啊。。。请各位高手帮帮忙啊。。。

------解决方案--------------------
onTimer是低优先级的消息,如果进程被阻止在其他工作中,则OnTimer是不能及时响应的(例如进程因等待硬件事件被阻塞,或者进入了死循环都不能响应WM_TIMER消息);如果需要及时响应可以使用其他方式,或者直接调用函数。
------解决方案--------------------
可以在进程中加计数器判断
------解决方案--------------------
定时器这种方法来设计超时,确是不是好办法.
我也在使用串口程序, 使用的时同步方法, 超时也很好做啊.
传大量数据,比如一个文件,就使用xmodem协议, 传数据包就使用普通读写.
也工作得很好啊,超时什么的都有,自身的超时已经很好了.
定时器不好的地方就是不准,很容易受其它操作影响.