2

我正在开发一个 VSTO Outlook 2007 加载项,该加载项基本上将 Outlook 数据与 Web 服务同步。我想在应用程序中进行三种类型的同步:启动同步、手动同步和关机同步。前两个很简单,并且已经完成。

但是,我无法找到合适的事件来触发以处理关闭时的同步。我尝试挂钩以下两个事件,但当加载项无法访问 Outlook 数据时,它们似乎为时已晚而这不起作用:

  • ((Outlook.ApplicationEvents_Event)Application).Quit(这个首先触发,但是访问 Outlook 数据集合并更新它们已经太迟了)
  • ThisAddIn.Shutdown(这个之后会触发,Quit所以它也不好)

在我可以使用的 Outlook 关闭事件之前触发的任何其他事件?或者也许有人知道在 Outlook 加载项中处理关闭时同步的任何其他方式?

4

1 回答 1

3

Explorer.Close() 和 Inspector.Close() 在 Application.Quit() 之前触发 - 在它们中您可以检查:

  • 在 Explorer.Close() 中:Application.Explorers.Count<=1 和 Application.Inspectors.Count==0
  • 在 Inspector.Close() 中:Application.Explorers.Count==0 和 Application.Inspectors.Count<=1

如果是这样,Outlook 将关闭,您可以触发您的事件。请记住,如果这对您来说是个问题,Outlook 也可以无窗口启动(自动化等)。

于 2009-09-17T20:49:06.803 回答