windows - 没有 Windows 窗体的 AddMessageFilter?

标签 windows winapi

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

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

最佳答案

您可以使用消息 Hook 来实现您想要的。事实上,消息 Hook 比 IMessageFilter 强大得多,因为除了发送到窗口句柄的窗口消息之外,还有其他种类的 Hook 。例如,您可以 Hook 系统范围内的按键或鼠标移动。

有关详细信息,请参阅本文

http://msdn.microsoft.com/en-us/magazine/cc188966.aspx

关于windows - 没有 Windows 窗体的 AddMessageFilter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/919301/

相关文章:

windows - 如何使运行时从服务器打开文件列表中删除的 exe(从共享启动)

android - 在 Windows 中,react-native 启动命令永远无法执行

windows - Windows 上的 Git : Force use of OpenSSH

c++ - Win32——对象清理和全局变量

c++ - GetTimeZoneInformation 函数返回具有 "incorrect"值的结构

c++ - Alt Tab 覆盖 Win32 标识符

windows - 如何在 XP 和 Vista 中可靠地获取 Quick Launch 文件夹?

windows - Visual Studio 2012 的图形用户界面是如何实现的以及我们如何制作外观相似的应用程序

c++ - 带有隐藏控制台窗口的 AllocConsole()

c++ - EnumDisplaySettings 判断失败