有一个程序,因为主程序的文件比较大,想分割,把一部分功能封装成一个独立进程,不过这部分功能包括界面,请问怎么把包括界面的一个进程嵌入到另一个进程中,并通讯,请给位兄弟提供个思路或代码吧,谢谢!!!

解决方案 »

  1.   

    谢谢上面两位的回复。要分拆是因为现有的主程序文件太大了,不便于网络升级,而且分拆也是一个模块的划分,便于维护和扩展,最重要是安全的考虑,这部分如果挂了,不会影响主程序。另外有个问题请教,dll不是一个独立的进程吗,难道只有exe才是吗?
      

  2.   

      不妨考虑一下通过进程间通信   两个进程使用一个协议 通过socket在127。0。0。1回路上传递信息。进程通信可以很简单、、神码是进程 是操作系统的事    我知道 dll exe 只是数据格式 不能代表神码
      

  3.   

      我说的嵌入是指把一部分的界面和功能封装到一个独立的进程里,由主程序调用,于是就有了2个进程,但是从用户的角度看的话是一个完整的程序。    这个封装的独立进程由主程序加载后就不用主程序再干涉了,可以独立完成一部分功能。    把主程序称为A,封装出来的独立进程称为B,a和b是两个独立的进程,a由用户手动调用,b由a调用,但是因为b也有界面,在用户看来a和b是合在一起的一个完整程序。
      

  4.   

    我是要把封装的进程再嵌回主程序,用户看起来就是一个完整的程序
    ------------------------------------------------------
    你可以模块化,封装成dll,供你的主程序调用
      

  5.   

    但是这个dll能已进程方式启动吗?
      

  6.   

    兄弟们帮帮忙啊我整理了一下需求,是:我有a、b两个程序,a是MDI样式,b是基于对话框的,我想把b放到a的一个bar上,这样看起来就是一个程序了。由于a、b其实是两个独立的进程,如果b挂了也也不会影响b。现在问题是怎么把b放到a的bar上或其他位置也可以。
      

  7.   

    建议改成dll吧,ie,word都是插件,你这样的要求不太好做.你看到有人这么做了吗?发出来给大家看看.
      

  8.   

    按你的需求,我以前的实现方式用的是进程外组件实现的,完全符合你的需求,你可以参考一下。进程外组件该怎么调用?
    http://topic.csdn.net/u/20101030/10/9356989e-aad6-44d0-a45e-30f628cb7263.html不过这种方式是两个进程间的通讯,所以效率要低些。
      

  9.   

    谢谢兄弟们的热情回复,现在问题基本解决了,有类似需求的可以参考一下这个
    http://topic.csdn.net/u/20100813/10/096beb8a-b7e1-45ec-a314-a945da28539c.html?seed=1143171614&r=71226797#r_71226797好了,结贴给分。