2009-01-09 62 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