GetMessage要等待消息的。
PeekMessage 不等待
Unlike GetMessage, the PeekMessage function does not wait for a message to be posted before returning.
所以如此

解决方案 »

  1.   

    volatile 就是别让你的编译程序来优化你的volatile 申明的变量,因为它申明的变量有可能在程序的外部被改变,比方说系统的时间,如果编译器优化了你的变量,那么就有可能出错。具体点吧
    有一个变量,系统时间,那么系统时间中断要修改,你的程序要读取。如果在一段时间里你经常使用,那么编译器就有可能将这个变量放到CPU的寄存器中,而这时时间中断过来,或者采用DMA模式,该程序直接就修改了你的内存中的数据,而你读取数据时读取得还是CPU寄存器中的数据【被优化到寄存器中以加快运行速度】,所以——Error