Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi CreateOleObject verborgen ausführen? (https://www.delphipraxis.net/9746-createoleobject-verborgen-ausfuehren.html)

FriFra 3. Okt 2003 01:22


CreateOleObject verborgen ausführen?
 
Wie kann ich erzwingen, dass die mit CreateOleObject aufgerufene Anwendung unsichtbar bleibt?

In meinem Fall handelt es sich um Lotus Notes. Immer wenn ich folgenden Aufruf mache:
Delphi-Quellcode:
Session := CreateOleObject('Notes.NotesSession');
wird zwar erfolgreich eine Session eröffnet, allerdings wird Notes gestartet, falls es noch nicht läuft. In diesem Fall hätte ich Notes aber gern unsichtbar! Wie kann ich das machen?

FriFra 3. Okt 2003 14:34

Re: CreateOleObject verborgen ausführen?
 
Ich hab jetzt einen Workaround gefunden:

Delphi-Quellcode:
      { läuft Notes schon? }
      hNotes := FindWindow(nil, 'Lotus Notes');
      { Notessession erzeugen }
      Session := CreateOleObject('Notes.NotesSession');
      { Wenn Notes bereits lief, Handle zurücksetzten, ansonsten zuweisen }
      if hNotes > 0 then
        hNotes := 0
      else
        hNotes := FindWindow(nil, 'Lotus Notes');

    ... übriger Code ...

    { Wenn Notes extra neu gestartet wure muss es nun beendet werden }
    if hNotes > 0 then
      SendMessage(hNotes, WM_SYSCOMMAND, SC_CLOSE, 0);
Man sieht allerdings das Programmfenster mal kurz in der Startleiste Aufblinken...


Alle Zeitangaben in WEZ +1. Es ist jetzt 17: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