各位大侠:
    小弟现在有一个问题很迷茫,我先说下我的需求。
    我现在有两个程序,一个是A 为我自己写的一个程序  ,一个是B(别人写的不可更改的程序)  是一个外挂程序 。我 的A 程序写一个文件   然后发消息给B程序 ,B程序处理这个文件。然后将处理的结果写回到这个文件,写完后发消息给A。然后A程序接收结果。我怎么才能在B处理完成后,A再进行发下一消息。我现在遇到的结果是我的B还没有处理完。A的另一个消息就又过来了结果不对。有什么好的方法吗、最好能给出实例代码。vs2008  vc++  .谢谢。

解决方案 »

  1.   

    B写完后发消息给A, A不就直接等待完成消息才发送下一消息不就完事了吗?
      

  2.   

    设一个事件,收到B的消息就置位。工作线程Wait这个事件。
      

  3.   

    A WaitForSingleObject 等待,B处理完了,SetEvent,这样A发送下一个
      

  4.   

    B程序处理这个文件。然后将处理的结果写回到这个文件,写完后发消息给A。
    你就在A程序的这个消息响应函数里发下一条消息
      

  5.   

    其实设置一个标记(index)就可以了。比哪A发出消息之后设置为index=1,当收到B处理完成发回的信息后,将index=0,只有index=0时才将消息发给B,这样处理不知是否可能满足你要求。
      

  6.   

    在文件头设置一些标志,比如写入aaa,隔一会检查如果不存在aaa了就表明B程序已改动,可已进行下一步操作。
      

  7.   

    现在的问题是B不是你写的,但是你如何知道B写结束,B写结束后发送什么消息吗?
    如果这样知道的话,那B没有写完,A要检测B是否写完再给B发消息呀.
      

  8.   


    我怎么才能在B处理完成后,A再进行发下一消息。
     
    B 程序不是你写的,也不可更改,那么你怎么盘点 B处理完成这个动作呢?