为什么我的Winforms应用程序MessageFilter不发送消息?

bwntbbo3  于 2023-03-19  发布在  其他
关注(0)|答案(1)|浏览(125)

我有一个.Net Winforms应用程序。我正在尝试通过IMessageFilter添加邮件筛选。
过滤器被正确添加,我正在拦截消息。为了达到目的,我返回false,所以所有消息都应该被调度和处理。
然而,一旦过滤器开始拦截消息,消息就不会被分派到正常的过滤/处理。
我不确定这是怎么回事。这是在Winforms应用程序中拦截/过滤消息的正确方法吗?我希望能够使用此过滤器来检查有关接收事件的winforms控件的信息。

以下是我的MessageFilter类示例:

public class InspectorMessageFilter : IMessageFilter
{
    public bool PreFilterMessage(ref Message message)
    {
        return false;
    }
}

下面是示例化和添加过滤器的代码:

var filter = new InspectorMessageFilter();
Application.AddMessageFilter(filter);
vsmadaxz

vsmadaxz1#

我将预过滤器定义更改为:

public class InspectorMessageFilter : IMessageFilter
{
    public bool IMessageFilter.PreFilterMessage(ref Message message)
    {
        return false;
    }
}

现在一切正常了!

相关问题