我在一个循环下用PostThreadMessage发送多次消息,而且要执行完前一条消息后,
再发送下一条消息,有什么办法能做到?
for(int i=0;i<10;i++)
{
m_pMyThread->PostThreadMessage(WMU_COPY_PROCESS, CCopyFileProcess::START, 0); 

解决方案 »

  1.   

    那你为什么要使用PostThreadMessage
    使用SendMessage不就可以了吗?
      

  2.   

    如果真的这样的话,你需要同步机智来处理啊,如果说,你发送消息之后,然后等待一个同步核心对象
    例如是Event对象,而在消息处理的哪个地方设置该对象,它处理了,让事件对象处于通知状态,这样这边的这个东西就能够运行了,在运行下一个循环之前,从新RESET这个EVENT对象
      

  3.   

    方法一:
    使用SendMessage。
    方法二:
    线程同步。
      

  4.   

    1 在线程中创建一个隐含窗口,之后SendMessage
    2 在PostMessage的时候用Event进行同步