我正在尝试在mfc应用程序和wpf应用程序之间建立双向通信。我从这两篇文章中得到了帮助: Interprocess Communication Between .NET and MFC Using WM_COPYDATA和Interprocess 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没有收到消息。
答案 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/