你使用了AfxOleInit()初始化MFC客户端时,会自动在CWinApp中设置一个COleMessageFilter数据成员。该类提供了IMessageFilter的实现,允许用户在等待异步操作的时候有选择性地处理COM操作以提高效率和避免死锁,参见IMessageFilter的文档。你可以创建你自己的COleMessageFilter类并且在此时注册。
可以用AfxOleGetMessageFilter()来访问这个对象。这个对象包含和COM服务器通讯的一些设置。
一些常用的方法
SetMessagePendingDelay(nTimeout);设置在COM调用之后,显示COM服务器忙对话框(COleBusyDialog)之前等待的时间
EnableBusyDialog(FALSE);禁用COM服务器忙对话框
EnableNotRespondingDialog(FALSE); 禁用未响应对话框。该对话框在鼠标或者键盘操作之后,COM调用超时时显示
使用OleInitialize初始化的程序不会显示这些对话框。
可以用AfxOleGetMessageFilter()来访问这个对象。这个对象包含和COM服务器通讯的一些设置。
一些常用的方法
SetMessagePendingDelay(nTimeout);设置在COM调用之后,显示COM服务器忙对话框(COleBusyDialog)之前等待的时间
EnableBusyDialog(FALSE);禁用COM服务器忙对话框
EnableNotRespondingDialog(FALSE); 禁用未响应对话框。该对话框在鼠标或者键盘操作之后,COM调用超时时显示
使用OleInitialize初始化的程序不会显示这些对话框。