MFC和WPF之间的进程间通信

Interprocess communication between MFC and WPF

本文关键字:进程间通信 之间 WPF MFC      更新时间:2023-10-16

我试图在mfc应用程序和wpf应用程序之间建立双向通信。我从这两篇文章中得到了帮助:.NET与MFC的进程间通信使用WM_COPYDATA和。net与MFC的进程间通信使用c#和COPYDATA

到目前为止,我已经设法从wpf发送消息到mfc。但是现在我想让mfc应用程序发送消息到wpf应用程序。我需要做些什么来实现这个目标?

在mfc端,我将句柄存储为

storedHandle = (HWND)intPtr;

,然后使用这个句柄发送消息:

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

但是wpf没有收到消息

与其使用传统的基于窗口的通信,不如考虑使用更现代的机制,如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/