0

我有一个用作 DDE 客户端的应用程序,并使用它接收到的数据来运行一些动画。此客户端安装在 Windows server 2012 上。我需要为 DDE 客户端应用程序提供少量变量才能正确运行动画。

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

在谷歌中搜索并没有得到关于如何实现这一点的明确教程。我有很好的 C/C++ 编程技能。但是,我需要指南、推荐的 API 或清晰的教程。

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

谢谢

4

1 回答 1

4

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是相当不寻常的)。

由于您(显然)有一个单一的、特定的客户,您可能可以稍微削减它。例如,听起来您可能不需要/不想支持暖链接等,因此您可能不关心WM_DDE_ADVISE/ WM_DDE_UNADVISE。您的服务器基本上可以在收到时启动连接WM_DDE_INITIATE,在收到 a 时发送数据WM_DDE_REQUEST,并在收到 a 时关闭WM_DDE_TERMINATE

于 2017-01-12T18:53:48.740 回答