关于 DDEML

动态数据交换 (DDE) 与剪贴板数据传输机制不同。 一个区别在于,剪贴板几乎总是用作对用户特定操作的一次性响应,例如单击菜单中的“粘贴”。 尽管用户也可以启动 DDE,但通常无需用户进一步参与即可继续。

动态数据交换管理库 (DDEML) 提供了一个接口,简化了向应用程序添加 DDE 功能的任务。 应用程序使用 DDEML 提供的函数来管理 DDE 对话,而不是直接发送、发布和处理 DDE 消息。 DDE 对话是客户端和服务器应用程序之间的交互。 DDEML 还提供一种管理 DDE 应用程序之间共享的字符串和数据的方法。 DDE 应用程序会创建和交换标识字符串的字符串句柄,以及标识 DDE 对象的数据句柄,而不是使用原子和指向共享内存对象的指针。 DDEML 提供一个函数 (DdeNameService),使服务器应用程序能够注册所支持的服务名称。 接着将服务名称广播到系统中的其他应用程序,这些应用程序会使用这些名称来连接到服务器。 DDEML 还会要求 DDE 应用程序以一致的方式实现 DDE 协议,以确保它们之间的兼容性。

使用基于消息的 DDE 协议的现有应用程序与使用 DDEML 的应用程序完全兼容;也就是说,使用基于消息的 DDE 的应用程序可以使用 DDEML 与应用程序建立对话和执行事务。 利用 DDEML 及其提供的许多改进,而不是在新应用程序中使用 DDE 消息。

若要使用 DDEML,必须包含源文件中的 DDEML.H 标头文件,与 USER32.LIB 文件链接,并确保 DDEML.DLL 文件驻留在系统的路径中。

每当 DDEML 函数失败时,应用程序都可以调用 DdeGetLastError 函数来确定失败的原因。 DdeGetLastError 会返回一个错误值,以指定最新错误的原因。