如题????

解决方案 »

  1.   

    PeekMessage(&msg, NULL, WM_YOURMESSAGESTART, WM_YOURMESSAGEEND, PM_REMOVE)
      

  2.   

    补充 isdong:
    isdong 兄提供的是清除指定消息范围的一个消息,并且你需要不断的循环,因为一次调用 PeekMessage 只是清除一个指定的消息(由WM_START 指明的起始值, WM_END 指明的结束值的范围内), 什么时候才清完呢, 当PeekMessage 返回 FALSE 时, 说明消息队列里没有这样的消息了. 这时候说明完了. 代码如下:while(PeekMessage(&msg, NULL, WM_YOURMESSAGESTART, WM_YOURMESSAGEEND, PM_REMOVE))
        ;       
    要清除所有队列消息:
    while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
        ;
      

  3.   

    我要达到的目的是,取出PostThreadMessage放进当前队列中的最后一个消息,也就是说,我每次要用到的都是当前队列中的最后一个消息,这样实现起来是不是有问题???
    例子,比如主线程定时向子线程发送一些其他的消息(用PostThreadMessage),但是子线程可能没有及时处理,而当主线程发出退出消息时,又要要求子线程马上响应,结束线程???
    请问dx如何实现???