MFC和WPF之间的进程间通信

时间:2016-08-17 13:05:39

标签: c++ wpf mfc ipc interprocess

我正在尝试在mfc应用程序和wpf应用程序之间建立双向通信。我从这两篇文章中得到了帮助: Interprocess Communication Between .NET and MFC Using WM_COPYDATAInterprocess Communication Between .NET and MFC Using C# and COPYDATA

到目前为止,我已设法将消息从wpf发送到mfc。但现在我希望mfc应用程序将消息发送到wpf应用程序。我需要做些什么才能实现这个目标?

在mfc方面,我将句柄存储为

storedHandle = (HWND)intPtr;

以后使用此句柄发送带有以下行的消息:

::SendMessage(pFrame->storedHandle, WM_COPYDATA, 0, 0);

但是wpf没有收到消息。

1 个答案:

答案 0 :(得分:0)

不应使用传统的基于窗口的通信,而应考虑更现代的机制,如Windows Mailslots:

对于C#,这里有一个包装器: http://www.codeproject.com/Articles/623268/Csharp-wrapper-for-Mailslots

也可以使用\\.\mailslot

通过文件系统访问消息

https://blog.didierstevens.com/2006/07/13/do-you-have-mailslots-on-your-windows-pc/