某个对话框程序,上面有一些输入框之类,把这个对话框程序做成可执行文件a.exe
另一个程序b.exe中,用CreateProcess("a.exe",.......)来打开它
在这个a.exe结束之后,希望把用户在上面输入的数据带回给b.exe。因为只是要在a.exe结束时传,数据也不多,所以不想用管道之类。
有没有简单的办法?请教了

解决方案 »

  1.   

    WM_COPYDATA,用于进程间通信,使用很方便
      

  2.   

    >>在这个a.exe结束之后,希望把用户在上面输入的数据带回给b.exe。
    用CreateProcess 時, 將b程序的 handle 傳進去給 a.exe, 回傳時, 
    用 sendMessage, postMessage 之類的, 應該就很簡單了
      

  3.   

    最简单的,用注册表,麻烦点的写个文件,再麻烦点的共享内存(filemapping)
      

  4.   

    用WM_COPYDATA或其它Message的话,总须知道发给谁,但是多个程序都可能调用a.exe,a.exe自己不知道该把Message发给谁,这种情况还能用WM_COPYDATA之类的办法吗?
      

  5.   

    可以群发消息,设定好消息参数,对特定参数感兴趣的程序可以处理需要的数据,此法简单,但效率不高。-------------
    偶的blog http://EverView.blogchina.com
      

  6.   

    用b.exe的全局变量,传递给a.exe,a.exe改变之就可以了。
      

  7.   

    开始问题在于b是个对话框,用匿名管道的话b往标准输出送不出去,
    想在onclose里发WM_COPYDATA消息时对话框会失去响应,似乎在等什么东西
    如果b不是对话框就都没问题
    文件注册表之类不让用
    最后还是用了filemapping
    想再听听大家意见
    过两天结贴
      

  8.   

    发WM_COPYDATA消息时用PostMessage试试看
    FileMapping也是常用的进程通信手段啊。