如何禁用对话框“切换到” - “重试” - “取消”

时间:2012-08-16 15:19:09

标签: c++ com atl cross-process

两个进程之间的通信,经常弹出无聊的对话框“此操作无法完成,因为其他应用程序正忙。选择'切换到'以激活繁忙的应用程序并更正问题”

然后它提供3个按钮:切换到...,重试和取消。

我可以禁用对话框吗?

1 个答案:

答案 0 :(得分:3)

当进程间通信调用未收到服务器的响应并超时时(服务器端操作需要花费太多时间),调用方显示消息框。

如果服务器和客户端都是您的代码,您可以重构它以非阻塞方式运行,例如第一个方法调用启动操作并立即返回,然后客户端在完成时轮询更新,或者接收回叫。否则,在MFC中,您可以使用COleMessageFilter::EnableBusyDialog停用此对话框,请参阅:Set OLE Request Timeout from C++