(高分求助)两个程序通过消息读写同一个文件的问题。

Sylarzgb 2011-11-21 10:59:21
各位大侠:
小弟现在有一个问题很迷茫,我先说下我的需求。
我现在有两个程序,一个是A 为我自己写的一个程序 ,一个是B(别人写的不可更改的程序) 是一个外挂程序 。我 的A 程序写一个文件 然后发消息给B程序 ,B程序处理这个文件。然后将处理的结果写回到这个文件,写完后发消息给A。然后A程序接收结果。我怎么才能在B处理完成后,A再进行发下一消息。我现在遇到的结果是我的B还没有处理完。A的另一个消息就又过来了。。。结果不对。有什么好的方法吗、最好能给出实例代码。vs2008 vc++ .谢谢。
...全文
104 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuucyf 2011-11-25
  • 打赏
  • 举报
回复
现在的问题是B不是你写的,但是你如何知道B写结束,B写结束后发送什么消息吗?
如果这样知道的话,那B没有写完,A要检测B是否写完再给B发消息呀.
Saleayas 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhaogb 的回复:]
各位大侠:
小弟现在有一个问题很迷茫,我先说下我的需求。
我现在有两个程序,一个是A 为我自己写的一个程序 ,一个是B(别人写的不可更改的程序) 是一个外挂程序 。我 的A 程序写一个文件 然后发消息给B程序 ,B程序处理这个文件。然后将处理的结果写回到这个文件,写完后发消息给A。然后A程序接收结果。我怎么才能在B处理完成后,A再进行发下一消息。我现在遇到的结果是我的B……
[/Quote]

我怎么才能在B处理完成后,A再进行发下一消息。

B 程序不是你写的,也不可更改,那么你怎么盘点 B处理完成这个动作呢?
ttaileen 2011-11-22
  • 打赏
  • 举报
回复
在文件头设置一些标志,比如写入aaa,隔一会检查如果不存在aaa了就表明B程序已改动,可已进行下一步操作。
onlycs 2011-11-21
  • 打赏
  • 举报
回复
楼主没说起,他们直接如何通信的。正常来说。两个程序需要同步处理。但楼主说B程序不可修改。我无法。坐等高手!
oyljerry 2011-11-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhaogb 的回复:]
A如何等待B的处理结果。。。。。。
[/Quote]
A WaitForSingleObject 等待,B处理完了,SetEvent,这样A发送下一个
ndy_w 2011-11-21
  • 打赏
  • 举报
回复
设一个事件,收到B的消息就置位。工作线程Wait这个事件。
&捕风的汉子& 2011-11-21
  • 打赏
  • 举报
回复
其实设置一个标记(index)就可以了。比哪A发出消息之后设置为index=1,当收到B处理完成发回的信息后,将index=0,只有index=0时才将消息发给B,这样处理不知是否可能满足你要求。
Sylarzgb 2011-11-21
  • 打赏
  • 举报
回复
A如何等待B的处理结果。。。。。。
dfasri 2011-11-21
  • 打赏
  • 举报
回复
B写完后发消息给A, A不就直接等待完成消息才发送下一消息不就完事了吗?
zpc38368330 2011-11-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 buyong 的回复:]
B程序处理这个文件。然后将处理的结果写回到这个文件,写完后发消息给A。
你就在A程序的这个消息响应函数里发下一条消息
[/Quote]
同意六楼
如果实现不了,就用我的笨方法
用文件的最后修改时间做判断,是否更改文件完成了- -更改时间变化,就说明B处理完了。。。。
- -!
buyong 2011-11-21
  • 打赏
  • 举报
回复
B程序处理这个文件。然后将处理的结果写回到这个文件,写完后发消息给A。
你就在A程序的这个消息响应函数里发下一条消息

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧