我正在开发一个 VSTO Outlook 2007 加载项,该加载项基本上将 Outlook 数据与 Web 服务同步。我希望在应用程序中实现三种类型的同步:启动同步、手动同步和关机同步。前两个很简单并且已经完成。
但是,我无法找到合适的事件来触发以处理关闭时的同步。我尝试 Hook 以下两个事件,但当加载项无法访问 Outlook 数据时,它们似乎被触发得太晚了,这不起作用:
((Outlook.ApplicationEvents_Event)Application).Quit
(这个首先触发,但现在访问 Outlook 数据集合并更新它们已经太晚了)ThisAddIn.Shutdown
(这个在Quit
之后触发,所以它也不好)
在 Outlook 关闭时,是否有其他事件在我可以使用的事件之前触发?或者也许有人知道在 Outlook 加载项中处理关闭时同步的任何其他方法?
最佳答案
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 也可以无窗口启动(自动化等)。
关于c# - VSTO Outlook 集成 - 用于同步的 Outlook 关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1438086/