如何在VB .NET程序中使用AfxOleGetMessageFilter?

时间:2009-07-14 18:18:24

标签: .net com

我们有一个程序可以调用长期运行的(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接口,但由于该接口只有一个看似无关的方法,我仍然难倒。

1 个答案:

答案 0 :(得分:0)

您不能以这种方式从MFC重用COleMessageFilter

您必须implement IMessageFilter in VB.Net