Comunicate between two processes, often pop up boring dialog "This action cannot be completed because the other application is busy.  Choose 'Switch To' to activate the busy application and correct the problem"

Then it offers 3 buttons:  Switch To..., Retry and Cancel.

Could I disable the dialog anyway?

有帮助吗?

解决方案

The message box is displayed on caller side when interprocess communication call receives no response from server and passes timeout (server side operation takes too much time).

If both server and client are your code, you can refactor this to run in a non-blocking manner, such as first method call starts action and returns immediately, and then client polls for updates on completion, or receives a call back. Otherwise, in MFC, you can disable this dialog with COleMessageFilter::EnableBusyDialog, see: Set OLE Request Timeout from C++

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top