WPF App - MFC App 互操作
Posted
技术标签:
【中文标题】WPF App - MFC App 互操作【英文标题】:WPF App - MFC App interoperation 【发布时间】:2010-06-21 13:08:25 【问题描述】:我有一个小型 WPF 应用程序。我希望将其整合到我们现有的系统中。我有两个作为 MFC MDI 应用程序实现的 COM 服务器,我们称它们为 COM_Srv1 和 COM_Srv2。
-
COM_Srv1 需要调用 WPF 应用程序的方法,例如 StartTask。在任务完成时,WPF 应用通知 COM_Srv1 应用
WPF 应用程序可能需要调用 COM_Srv2 上的方法来执行特定任务。完成此任务后,COM_Srv2 将结果通知 WPF 应用程序
这两种情况是相似的(MFC MDI COM 服务器调用 WPF 应用程序和 WPF 应用程序调用 MFC MDI COM 服务器),但我已经列出了它们。
如果是两个 MFC COM 服务器相互通信的情况,那么我会实现一个接口和一个 COM 事件源/接收器。
但是我不知道实现WPF应用程序和COM MFC MDI应用程序之间互操作的最佳方式? 我一直在考虑
-
WCF 服务作为两者之间的桥梁
在两侧实现 COM 端点 - 即。在 WPF 应用程序中托管带有事件/源接收器的 COM 组件
等等
如果您能提供一些有关这方面的具体信息,我将不胜感激?
【问题讨论】:
【参考方案1】:我在 MFC 应用程序中创建了一个带有事件源的 COM 类。我的 WPF 应用程序连接到这个 coclass 并接收事件。这样,从我的 MFC 应用程序到 WPF 应用程序的通信是可能的。确保在两个应用程序中正确实现线程和应用程序。
【讨论】:
以上是关于WPF App - MFC App 互操作的主要内容,如果未能解决你的问题,请参考以下文章
WinForms 互操作,从 WinForms 拖放 -> WPF
包装 MFC 应用程序(目标移动设备)以创建 dll 以在 c#.NET 中使用以进行互操作