两个VB程序之交换数据的DDE工程

新建一个VB工程
把Form1的
Caption设置为工程1
WindowState设置为Minimized
LinkMode设为Source
LinkTopic设为Form1

在Form1添加TextBox,text1
设置text1的text值为:这是EXE文件中TEXT1中的数据

编译生成 工程1.EXE

再建一个VB工程
把Form1的
LinkMode设为Source
LinkTopic设为Form1
在Form1添加TextBox,text1
把工程保存在一个文件夹内,把上面所做的工程1.EXE复制到这个文件夹内.
不用编译,在VB环境中写以下程序调试就可以了.
Private Sub Form_Click()
  If Text1.LinkMode = vbNone Then
      Z = Shell("C:/Documents and Settings/Administrator/桌面/dde/工程1.exe", 4)
      Text1.LinkTopic = "工程1|Form1"  ' 设置连接主题。
      Text1.LinkItem = "text1"          ' 设置连接项目。
      Text1.LinkMode = vbLinkManual    ' 设置连接模式。
  End If
 
      Text1.LinkItem = "text1"  ' 设置连接项目。
      Text1.LinkRequest            ' 获得数据
     

      'Text1.LinkItem = "text1"  ' 设置连接项目。
      'Text1.text="xxxxxx"           
      'text1.LinkPoke                  ' 发送数据"xxxxxx"
End Sub

按F5运行程序,单击form1,就可以看到从工程1.EXE的text1中读回来的数据了

DDE动态数据交换 DDE是一种动态数据交换机制(Dynamic Data Exchange,DDE)。使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间数据交换。 在LabVIEW6.0以后的版本里,DDE还是可以使用的,但是NI更提倡使用ActiveX,因此DDE的VI不会自动显示在函数模板上。如果使用,可以在labview X.X\\vi.lib\\platform\\dde.llb去找。 DDE(Dynamic data exchange)的工作原理是: 甲方申请一块全局内存,然后把内存指针postmessage到乙方, 乙方根据收到的指针访问那块全局内存。 有几个API函数是做这种事的,你在MSDN里查一下 Dde 打头的函数全都出来了。 因为是已经淘汰的技术,连MFC都没对他进行封装。 很难保证它同样会出现在以后的Windows API中。 DDE = Dynamic Data Exchange,是 16 位 Windows 时代实现不同应用程序之间互相交换数据和控制的技术,现在用得很少了,Windows Shell 外壳打开某些文件类型还用到 DDE。 OLE = Object Linking and Embedding,从 16 位 Windows 时代发展而来,建立在 COM 基础之上(实际上 OLE 是 COM 的第一个实际应用,OLE 标准推出时,COM 标准还没有定型;COM 的成熟取决于 OLE 在技术上的成熟),最近看到的 COM 标准是 0.9 版。请参考其他资料得到能全面的知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值