如何在WPF中处理WndProc消息?
在Windows窗体中,我将重写WndProc
,并开始处理传入的消息。
有人可以向我展示如何在WPF中实现相同目标的示例吗?
回答:
实际上,据我了解,在WPF中使用HwndSource
和确实可以做到这一点HwndSourceHook
。请参见MSDN上的该线程作为示例。(以下包含相关代码)
// 'this' is a WindowHwndSource 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