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.
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;
j'ai évidemment déclaré dans mes var :
DCOMoutlook: TOutlookApplication;

Quelqu'un a une idée ?