2009-01-09 123 views
1

这与earlier question密切相关。等待管理代码中的消息

在管理世界:

  • 我如何检查如果当前线程 在其消息队列中的消息?
  • 我该如何屈服于操作系统,并在当前线程 (如GetMessage或WaitMessage)中等待 ?

我正在寻找没有PInvoke的托管等价物。

回答

3

你可以重写WndProc,然后在被调用时触发你自己的事件。这当然不会被阻止。如果你想阻塞一条消息,你可以在另一个线程中等待同步对象,并让WndProc发送该对象的方法。

+0

这看起来像是最好的选择,我完全错过了认为你想要抽取消息队列的问题;-) – JoshBerke 2009-01-09 18:35:36

+1

你会覆盖哪个WndProc?每个控制都有它自己的。 – 2009-01-09 20:34:33