2010-03-09 38 views
0

當調用IVideoWindow :: put_Visible()時,它會從消息隊列中查看消息並分派它。這完全混淆了通話順序。我可以阻止IVideoWindow :: put_Visible發佈消息嗎?

我已經修復了由此造成的幾次死機,在個案偏見的情況下。也就是說,在調用put_Visible()之前設置一個標誌,然後清除該標誌。在事件處理程序中,首先檢查標誌,如果它已設置,則將事件返回到消息隊列並退出事件處理程序(即推遲處理,直到put_Visible()返回。問題是我的代碼庫太大並且該方法不支持。

有沒有辦法簡單地改變put_Visible的()的行爲,使之不亂的消息隊列和調度?

回答

0

最終,我得到一個想法,但尚未證實此事。這是爲了在第二個新線程中調用put_Visible()。由於Win32分離的線程具有分離的消息隊列,因此put_Visible()不可能混淆主消息隊列。

相關問題