<p>I am instantiating a local COM server using CoCreateInstance.  Sometimes the application providing the server takes a long time to start.  When this happens, Windows pops a dialog box like this:</p>

<p><strong>Server Busy</strong></p>

<p>The action cannot be completed because the other program is busy. Choose 'Switch To' to activate the busy program and correct the problem.</p>

<p>[Switch To...] [Retry] [Cancel]</p>

<p>I have found mention of a Visual Basic property on the Application object, OleRequestPendingTimeout, that can be used to control the time before this dialog comes up.  I can't find any good documentation on this or an equivalent that is useful from C++.  Can anyone point me in the right direction?</p>

Have a look at
```
IMessageFilter
```
and
```
CoRegisterMessageFilter
```
.