如何创建 DDE 服务器

How to Create a DDE Server

我有一个用作 DDE 客户端的应用程序,并将它接收到的数据用于 运行 几个动画。此客户端安装在 Windows 服务器 2012 上。我需要为 DDE 客户端应用程序提供少量变量以正确 运行 动画。

我在同一台机器上没有安装 Microsoft Office,所以我不能使用 Excel 来完成这项工作。知道如何创建一个为客户端提供所需数据的 DDE 服务器。

在 google 中搜索没有得到关于如何实现这样的清晰教程。我在 C/C++ 方面有很好的编程技能。但是我需要指南、推荐的 API 或清晰的教程。

编辑:我需要服务器和客户端应用程序 运行 在同一台机器上 OS。

谢谢

DDE 几乎完全根据 Windows 消息定义,因此要创建 DDE 服务器,您主要:

  1. 建立连接以响应 WM_DDE_INITIATE
  2. WM_DDE_ADVISEWM_DDE_REQUEST
  3. 适当回复WM_DDE_DATA
    • 马上换一个WM_DDE_REQUEST
    • 根据 WM_DDE_ADVISE
    • 的需要
  4. 关闭更新以响应 WM_DDE_UNADVISE
  5. 可能还会监听 WM_DDE_POKE 消息以接受来自客户端的数据(如果这对您的情况有意义)。
  6. 关闭连接以响应 WM_DDE_TERMINATE

嗯...目前可能至少还有一条消息我没有想到,但这可能涵盖了至少 90% 的情况(至少根据我的经验,甚至 WM_DDE_POKE 是相当不寻常的)。

既然你(显然)有一个单一的、特定的客户,你可能 trim 有点回来。例如,听起来您可能 need/want 不支持热链接等,因此您可能不关心 WM_DDE_ADVISE/WM_DDE_UNADVISE。您的服务器基本上可以在收到 WM_DDE_INITIATE 时启动连接,在收到 WM_DDE_REQUEST 时发送数据,并在收到 WM_DDE_TERMINATE.

时关闭。