在托管代码中等待消息

时间:2009-01-09 05:31:56

标签: windows winforms winapi message-queue

这与earlier question密切相关。

在管理世界中:

  • 如何检查当前线程 消息队列中有消息吗?
  • 如何屈服于操作系统并等待 对于当前线程中的消息 (比如GetMessage或WaitMessage)?

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

2 个答案:

答案 0 :(得分:3)

你可以覆盖WndProc,然后在调用它时激活你自己的事件。当然,这不会阻止。如果你想阻塞一条消息,你可以让另一个线程中的方法等待同步对象并让WndProc信号成为对象。

答案 1 :(得分:0)

您可以使用AddMessageFilter function.

我不认为如果没有P / Invoke就会有阻止的方法,因为它超出了.NET的意图。