Bonjour, voilà mon appli fait une sauvegarde, et sauvegarde notamment les fichiers critiques d'outlook (les .pst) qui contiennent tous les messages.
Comme beaucoup de monde dans la boîte laisse outlook ouvert en permanence (moi le premier), le temps de la sauvegarde je ferme outlook puis je le réouvre après.
ça marche très bien, sauf dans le cas où l'utilisateur est en train d'écrire un message (ça lui demande si il veut enregistrer Oui/Non/Annuler).
Si l'utilisateur n'est pas devant son pc où si il annule, outlook n'est pas fermé et le fichier .pst n'est pas sauvegardé. J'aimerai donc signaler l'incident "outlook ne s'est pas fermé".
Voici mon code.
j'ai évidemment déclaré dans mes var :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 { Pour automatiser l'arret d'outlook il suffit de créer par programmation un objet DCOM de type TOutlookapplication (composant de l'onglet serveur) en lui mettant la propriété ConnectKind à ckRunningInstance. Lors de la connexion une exception sera déclenchée si outlook n'est pas démarré à défaut il faut lancer la méthode Quit de cet objet pour arrêter outlook. Pour le redémarrer après la sauvegarde, il faut suivre le même principe en mettant connectKind à ckNewInstance et Autoquit à false. } dcomoutlook := TOutlookApplication.Create(nil); try DCOMoutlook.ConnectKind := ckRunningInstance; //Si pas ouvert => exception, sinon affectation du booléen dcomoutlook.Quit; //***** je veux savoir ici si outlook est fermé ***** except end;
DCOMoutlook: TOutlookApplication;
Quelqu'un a une idée ?
Partager