5

我们开发了一个 MFC 应用程序,其中主窗口在 DLL 中实现。为了改进它,我们正在考虑将其更改为 WPF 应用程序,其中“旧”本机窗口重新托管在 Wpf 窗口中。到目前为止,一切都很好。

但是,我们的旧 MFC 应用程序在应用程序级别捕获了一些消息(例如:阻止鼠标单击或键盘输入)。要在 WPF 应用程序中重新托管 MFC 窗口,我们需要一种方法从 WPF 应用程序中捕获这些,并要求旧的 MFC 窗口预翻译它们......

这可能吗?

我正在考虑在 HwndHost 中重新托管 MFC 窗口,然后添加一个消息挂钩。我的桥接 CLR-DLL 中的代码如下所示(并且没有实现我想要的):

MyHwndHost ^handle = gcnew MyHwndHost(pContentWnd);
handle->MessageHook += gcnew HwndSourceHook(&CVSimCoreNat::ControlMsgFilter);

任何人都可以帮忙吗?

4

0 回答 0