【发布时间】:2012-03-06 19:48:38
【问题描述】:
我有一个 MFC 应用程序,它会弹出一个服务器繁忙的对话框,如下所示: https://stackoverflow.com/questions/4968872/how-can-i-disable-the-ole-server-busy-dialog-in-a-c-sharp-app
此应用程序调用 AfxOleInit()。 http://support.microsoft.com/kb/248019 解释说我应该这样做 AfxOleGetMessageFilter()->SetMessagePendingDelay(nTimeout); 以避免得到对话框。它还建议我使用 OleInitialize 而不是 AfxOleInit 来抑制对话框。
这是否意味着如果我不调用 AfxOleInit(),那么我不会得到服务器繁忙对话框? 我无法真正测试,因为没有 AfxOleInit(),AfxOleGetMessageFilter 返回空指针,所以我无法真正将其设置为 1ms 并测试它是否在超时时弹出对话框。
所以我的问题是,如果我不调用 AfxOleInit 那么我会得到“服务器忙”对话框吗?
谢谢
【问题讨论】:
-
不要向信使开枪。你的 UI 线程不应该运行代码超过几秒钟,也不应该阻塞。使用线程来执行缓慢的操作,让您的 UI 响应用户输入。使此对话框也消失。
标签: com