對話框我有MFC應用程序彈出一個服務器忙dilaog,看上去就像這裏: https://stackoverflow.com/questions/4968872/how-can-i-disable-the-ole-server-busy-dialog-in-a-c-sharp-appCOM「服務器忙」的MFC
該應用程序調用AfxOleInit()。 http://support.microsoft.com/kb/248019解釋說我應該做 AfxOleGetMessageFilter() - > SetMessagePendingDelay(nTimeout); 以避免出現對話框。它還建議我使用OleInitialize而不是AfxOleInit來禁止對話。
這是否意味着,如果我不叫AfxOleInit(),然後我就不會得到服務器忙對話框? 我無法真正測試,因爲沒有AfxOleInit(),AfxOleGetMessageFilter返回空指針,所以我不能真正將其設置爲1ms,並測試它是否會在超時時彈出對話框。
所以我的問題是,如果我不叫AfxOleInit然後我會永遠得到「服務器忙」對話框?
感謝
不要遷怒於送信。你的UI線程永遠不應該運行代碼超過幾秒鐘,並且不應該阻塞。使用線程執行緩慢的操作,讓您的UI響應用戶輸入。使對話消失。 – 2012-03-06 13:20:11