2009-09-17 5 views
2

Je travaille sur un complément VSTO Outlook 2007 qui synchronise essentiellement les données Outlook avec le service Web. Il y a trois types de synchronisation que je veux avoir dans l'application: synchronisation de démarrage, synchronisation manuelle et synchronisation à l'arrêt. Les deux premiers sont simples et sont déjà terminés.Intégration de VSTO Outlook - Événement d'arrêt Outlook pour la synchronisation

Cependant, j'ai des problèmes pour trouver un événement approprié à déclencher pour gérer ma synchronisation à l'arrêt. J'ai essayé accrochage aux deux événements suivants, mais il semble qu'ils sont tiré trop tard lorsque add-in n'a pas accès aux données Outlook et cela ne fonctionne tout simplement pas:

  • ((Outlook.ApplicationEvents_Event)Application).Quit (celui-ci feu d'abord, mais il est déjà trop tard pour accéder à des collections de données Outlook et les mettre à jour)
  • ThisAddIn.Shutdown (celui-ci feu après Quit il est pas bon aussi bien)

y at-il d'autres événements qui sont déclenchés avant ceux-là sur les perspectives arrêt que je pourrais utiliser? Ou peut-être que quelqu'un connaît un autre moyen de gérer la synchronisation sur l'arrêt dans le complément Outlook?

Répondre

3

Explorer.Close() et Inspector.Close() le feu avant Application.Quit() - en eux vous pouvez vérifier:

  • En Explorer.Close(): Application.Explorers.Count < = 1 et Application.Inspectors.Count == 0
  • En Inspector.Close(): Application.Explorers.Count == 0 et Application.Inspectors.Count < = 1

Si oui, Outlook fermeront et vous peut déclencher vos événements. Gardez juste à l'esprit que Outlook peut être démarré sans fenêtre (automatisation, etc.) si c'est un problème pour vous.