我们有一个程序可以调用长期运行的(SolidWorks)API函数。过了一会儿,我们得到一个错误对话框,说“COM服务器正忙......”。我们已经做了一些研究,发现你可以通过使用类似于:
的一些C ++代码来控制它 COleMessageFilter *pFilter = AfxOleGetMessageFilter();
if(pFilter)
{
pFilter->SetMessagePendingDelay(60000);
pFilter = NULL;
}
问题是,我们在C ++方面一无所知,并且想要使用VB.NET。我们挖了一下,结果发现AfxOleGetMessageFilter来自一些MFC库。所以我的问题是:有没有什么方法可以从VB.NET实现这个调用进入MFC? AfxOleGetMessageFilter是一个包装其他WIN32API调用的包装器,我们可以直接DECLARE并调用自己吗?有没有我们应该追求的替代方案?
我有一个答案表明我实现了.NET IMessageFilter接口,但由于该接口只有一个看似无关的方法,我仍然难倒。