我正在使用利用Microsoft Office Interop的C#程序,允许您从实质上以编程方式使用Microsoft Word,Excel和PowerPoint。

我遇到的一个不幸的方面是,该程序有时会弹出一个对话框,以暂停代码。例如,如果突然之间代码无法保存在您期望的位置,则可能会发生这种情况,这意味着即使稍后解决该问题,整个程序也可能会暂停。

在许多其他情况下,可能会出现一个附加对话框。

因此,我的目的是为此实现某种超时机制,从而可以杀死Interop实例,而不用捆绑整个程序。有人可以建议一种方法吗?目前,它将Interop调用包装在System.Action中,并在给定时间后中止该线程,但是我想知道是否有更好的方法。

最佳答案

您可以通过实现OLE消息筛选器来做到这一点。有关更多详细信息,请参见this answer

关于c# - Microsoft Office Interop超时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17467843/

10-12 19:18