Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Outlook mit Delphi schließen? (https://www.delphipraxis.net/142792-outlook-mit-delphi-schliessen.html)

JBJHJM 3. Nov 2009 22:11


Outlook mit Delphi schließen?
 
Zunächst: Ich habe mich schon umgeguckt und einiges gefunden, aber das alles scheint nicht direkt zu passen.
Ich habe ein Programm, das nicht direkt mit Outlook zusammenarbeiten soll, es muss nur in der Lage sein Outlook zu starten und zu beenden.
Das starten über die normale outlook.exe ist kein Problem, aber das Schließen erweist sich, da ich nicht auf einen brutalen Prozess-Kill zurückgreifen will, als schwierig.
Ich habe eine "GetHandleByExeName"-Funktion, da Outlooks Titel sich ja leider andauernd ändert.
Habe das Ergebnis der Funktion per InttoStr ausgelesen, ist auf jeden Fall ungleich null, gibt es irgendeine Möglichkeit zu überprüfen, zu welchem Programm diese Nummer gehört?
Ich denke eigentlich, das sollte so weit funktionieren, aber dann sende ich den Befehl

Delphi-Quellcode:
PostMessage(GetWindowHandleByExeName('Outlook.exe'), WM_CLOSE, 0, 0);
und es passiert absolut nichts!

positiv: Es gibt auch keine Fehlermeldung :mrgreen:

Wie kann ich Outlook mit Delphi "normal" schließen?

Luckie 3. Nov 2009 22:42

Re: Outlook mit Delphi schließen?
 
Zitat:

Zitat von JBJHJM
Ich habe eine "GetHandleByExeName"-Funktion

Und wie sieht die aus? Hast du schon mal MSDN-Library durchsuchenSendMessage probiert?

Bernhard Geyer 4. Nov 2009 07:25

Re: Outlook mit Delphi schließen?
 
Folgendes VBS sollte gehen:

Code:
set objOLK = createObject("Outlook.Application")
objOLK.quit
Lässt sich praktisch 1:1 nach Delphi umsetzen.

JBJHJM 4. Nov 2009 11:24

Re: Outlook mit Delphi schließen?
 
Als hadle-by-exe-Funktion habe ich diese hier übernommen:
http://www.delphi-treff.de/tipps/sys...ns%20erhalten/

Mit sendmessage gibts das gleiche Ergebnis.

Bernhard, kannst du das mal genauer erläutern? Danke!

JBJHJM 4. Nov 2009 17:08

Re: Outlook mit Delphi schließen?
 
Habe es hinbekommen!!!! Und freue mich drüber :mrgreen:

Hierder genutzte Code, für alle die ihn jemals brauchen:

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, WinTypes, WinProcs, TLHelp32, ComObj, ActiveX, Outlook_TLB;

...

procedure TForm2.Button1Click(Sender: TObject);
var
  Outlook: _Application;
begin
  Outlook := CoOutlookApplication.Create;
  Outlook.Quit;
end;
Danke nochmal!


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz