AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Mit Shellexecute eine Anwendung im Hintergrund starten
Thema durchsuchen
Ansicht
Themen-Optionen

Mit Shellexecute eine Anwendung im Hintergrund starten

Ein Thema von Moony · begonnen am 30. Mär 2006 · letzter Beitrag vom 10. Sep 2006
Antwort Antwort
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

Mit Shellexecute eine Anwendung im Hintergrund starten

  Alt 30. Mär 2006, 16:05
Hallo,

ich weiß, das Thema gabs schon öfter, aber die dazu geschriebenen Tipps haben mir nicht weiter geholfen.

Ich starte aus meiner Anwendung heraus eine andere Delphi-Anwendung mit dem folgenden Aufruf:

ShellExecute(0, PChar('open'), PChar('Programm.Exe'), PChar('Parameter'), PChar(ExtractFilePath(Application.ExeName)), SW_HIDE); Die Applikation wird auch richtig gestartet. Innerhalb der Applikation habe ich die Hauptform auf invisible. Doch leider ist das alles nicht so wie es sein soll: Die Form wird dennoch gezeigt und ich möchte, dass die gestartete Applikation aus der Titelleiste entfernt wird, so dass nicht sichtbar ist dass eine andere Applikation am Werk ist.

Dass die Form nicht mehr gezeigt wird, habe ich mit tricksen hinbekommen:

Delphi-Quellcode:
Form.AlphaBlend := true;
Form.AlphaBlendValue := 0;
Aber dennoch ist die Applikation in der Titelleiste vertreten. Ich hoffe mir kann jemand weiterhelfen.

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: Mit Shellexecute eine Anwendung im Hintergrund starten

  Alt 10. Sep 2006, 12:16
Es gäbe da eine Methode die mir ad-hoc einfällt:

Du startest ja die andere Anwendung ohnehin selber, starte sie suspended und hooke CreateWindow (und Co.) so daß du hier schon eingreifen kannst und bspw. die Flags so verändern kannst, daß das Hauptfenster nicht in der Taskleiste erscheint.

Handelt es sich bei der gestarteten Anwendung um eine Delphianwendung, solltest du beachten, daß das Hauptformular nicht das gleiche ist, wie das Application-Objekt welches normalerweise für das Symbol in der Taskleiste verantwortlich zeichnet.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Mit Shellexecute eine Anwendung im Hintergrund starten

  Alt 10. Sep 2006, 13:03
Moin Moony,

aus Deinen Worten entnehme ich, dass Du die zu startende Anwendung auch geschrieben hast.
Wenn Du dort Application.ShowMainform := false setzt, sollte das Programm nicht mehr angezeigt werden.
Den Aufruf musst Du in der Projektdatei unterbringen, am Besten vor dem ersten Application.CreateForm.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 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