1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleServer, Outlook2000, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Var
DCOMoutlook: TOutlookApplication;
bOuvert, bFermeSuccess : Boolean;
begin
//
// Test si outlook est ouvert et si c'est le cas essaye de le fermer
//
bOuvert:= False;
DCOMoutlook := TOutlookApplication.Create(nil);
try
DCOMoutlook.ConnectKind := ckRunningInstance;
//Si pas ouvert => exception, sinon affectation du booléen
Try
DCOMoutlook.Connect;
bOuvert := True;
DCOMoutlook.Quit;
Except
// Erreur connection => Outlook non ouvert
End;
Finally
DComOutlook.Free;
end;
//
// Test si outlook est fermé
//
bFermeSuccess := True;
if ( bOuvert ) Then
Begin
DCOMoutlook := TOutlookApplication.Create(nil);
try
DCOMoutlook.ConnectKind := ckRunningInstance;
//Si pas ouvert => exception, sinon affectation du booléen
Try
DCOMoutlook.Connect;
bFermeSuccess := False;
Except
// Erreur connection => Outlook est bien fermé
End;
Finally
DComOutlook.Free;
end;
End;
if ( bOuvert ) Then
Begin
ShowMessage('Outlook ouvert');
if ( bFermeSuccess ) Then ShowMessage('Outlook fermé avec succés')
Else ShowMessage('Outlook non fermé');
End
Else ShowMessage('Outlook non démarré');
end;
end. |
Partager