如何在WPF中处理WndProc消息?

在Windows窗体中,我将重写WndProc,并开始处理传入的消息。

有人可以向我展示如何在WPF中实现相同目标的示例吗?

回答:

实际上,据我了解,在WPF中使用HwndSource和确实可以做到这一点HwndSourceHook。请参见MSDN上的该线程作为示例。(以下包含相关代码)

// 'this' is a Window

HwndSource source = HwndSource.FromHwnd(new WindowInteropHelper(this).Handle);

source.AddHook(new HwndSourceHook(WndProc));

private static IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)

{

// do stuff

return IntPtr.Zero;

}

现在,我不太确定为什么要在WPF应用程序中处理Windows

Messaging消息(除非这是与另一个WinForms应用程序一起使用的最明显的互操作形式)。WPF与WinForms在WPF中的设计思想和API的性质有很大的不同,因此我建议您进一步熟悉WPF,以了解

为什么 没有WndProc。

以上是 如何在WPF中处理WndProc消息? 的全部内容, 来源链接: utcz.com/qa/425611.html

回到顶部