我想问两个方面的问题
1)自己写两个程序,他们之间可以进行数据传递
2)写一个程序,和已有的程序进行数据传递(或者说是得到一个正在运行的应用程序的信息)这该如何入手呢?
谢谢大家指导~

解决方案 »

  1.   

    1.发送WM_CopyData消息
    2.内存映射具体方法可以自己查MSDN
    或者等楼下的贴代码
      

  2.   

    zyl910(910:分儿,我又来了!) //看你回答 都具有指导性意见,并且你似乎对MSDN情有独钟
      

  3.   

    写成Active exe是最直接的办法
      

  4.   

    进程通信:
    1.剪贴板
    2.dde
    3.wm_copydata
    4.ole
    5.存储器共用
    6.pipe
      

  5.   

    贴代码太长太烦,不如找个现成的吧,下面的代码展示了在vb中进行进程通信的一部分手段
    参考:
    http://dl5.mydown.com/code/game-code/2004021801.zipVB进程间通讯演示(1.0)说明:
          一共四个演示。分别如下:
    1:Sample
          一个简单的使用了共享内存映射的例子,运行两个实例看看就知道,没有什么特别。
    2:SendText
          不用窗口子类化,而达到和发送自定义消息同样的效果。  
    3:SendFile
          由于演示2中还是通过发消息来传递字符串,不可能传递大块文本,本例综合演示1和演示2达到传递大块文本的功能。
    4:Chat
          演示2和演示3使用的都是SendMessage来发放通知消息,所以不能异步通讯,SetWindowText不能跨进程使用,PostMessage只能在WM_USER以上的自定义消息中才能传递指针,那么如何才能异步通讯呢?我还没有好主意,就用定时器吧!看看这个可以聊天的程序就知道了。Common目录下有四个模块。
    其中ShareStr2.cls是原来大师Bruce  MicKenney写的东西,就是这个东西害我浪费很多时间来调试。原来大师的东西也会有错。代码做过一点注释,不过做得不好,乱!
    有些问题在注释里做了说明,这里就不说了。
    至于用剪贴板,管道、邮件槽、COM+组件等等方法,以后有时间还要研究研究。在VB里使用内存文件映射技术需要大量使用CopyMemory,还要处理好DBCS和UNICODE的关系,程序虽然已经调试通过,还需要大家一起改进。