我正在尝试在 Delphi 中的两个 Windows 应用程序之间进行通信。发送者使用 WM_COPYDATA 通过 SendMessage 发送命令。那部分工作正常。接收方是否可以在同一个调用中回复一些结果字符串?它对我来说失败了,下面是现在正在发生的事情。
发送方使用 WM_COPYDATA 使用阻塞调用 SendMessge 向接收方发送命令。
接收方处理命令并使用一些结果字符串修改 COPYDATASTRUCT,这些结果字符串必须发送回发送方并退出事件处理程序
Receiver 的“SendMessage”函数返回,但 COPYDATASTRUCT 的内容仍然没有改变。
显然,Windows 的消息传递机制没有在两个应用程序之间共享 COPYDATASTRUCT 内存。相反,它正在制作副本。