1

希望有人可以阐明一个问题 - 我正在尝试收听\拦截应用程序生成的所有 Windows 消息并处理某些类型,例如通知或手势消息。

我一直在阅读有关如何使用 Microsoft.WindowsCE.Forms.MessageWindow 执行此操作的文章,并创建一个继承它的类,覆盖 WndProc 方法,但我一直无法让它开始侦听\在应用程序时自动监视消息队列开始。

我知道可以使用 OpenNetCF 框架和 Application2 命名空间来做到这一点,但是我现在不希望使用 3rd 方软件——这不会冒犯 OpenNetCF 的人。

希望这是有道理的。另外,我正在使用 C#2.0 和 Windows Mobile 6.5。

谢谢你的帮助,

莫里斯

4

1 回答 1

1

因此,解决方案非常简单——您所要做的就是花时间复制智能设备框架代码正在执行的操作。

您需要通过 P/Invokes 为GetMessageTranslateMessageDispatchMessage创建自己的消息泵(它看起来就像在 C 中一样)。使用此泵而不是调用 Application.Run(因此在您的应用程序中不能调用 Application.Run)。

在该新消息泵中插入您的过滤逻辑。

于 2009-10-05T18:24:47.437 回答