没有Windows窗体的AddMessageFilter?

没有Windows窗体的AddMessageFilter?,windows,winapi,Windows,Winapi,我想使用System.Windows.Forms.Application.AddMessageFilter的功能,但我的目标应用程序不使用Windows窗体。此功能添加了一个筛选器,用于在路由Windows邮件时监视这些邮件。如果有人知道这是如何工作的,我不介意编写自己的代码来执行相同的功能 带有GWL_WNDPROC的SetWindowLong只影响收到的消息,我想影响发送的消息。System.Windows.Forms.Application是静态的,但使用引发异常的IMessageFilt

我想使用System.Windows.Forms.Application.AddMessageFilter的功能,但我的目标应用程序不使用Windows窗体。此功能添加了一个筛选器,用于在路由Windows邮件时监视这些邮件。如果有人知道这是如何工作的,我不介意编写自己的代码来执行相同的功能


带有GWL_WNDPROC的SetWindowLong只影响收到的消息,我想影响发送的消息。System.Windows.Forms.Application是静态的,但使用引发异常的IMessageFilter调用AddMessageFilter不起作用。

您可以使用消息挂钩实现所需的功能。事实上,消息钩子远比IMessageFilter强大,因为除了发送到窗口句柄的windows消息之外,还有其他类型的钩子。例如,您可以钩住系统范围的按键或鼠标移动

有关更多信息,请参阅本文