AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programm starten und auf Programmende warten

Ein Thema von Aike · begonnen am 4. Nov 2005 · letzter Beitrag vom 15. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#1

Programm starten und auf Programmende warten

  Alt 4. Nov 2005, 15:41
Hallöchen,

ich habe mal wieder ein Problem

Ich würde gerne ein Programm starten, z.B. den Taschenrechner von Windows, und dann, wenn der Taschenrechner wieder geschlossen wurde, mit meinem Programm eine ShowMessage() ausgeben. Das Programm wird mit ShellExecute gestartet (ist klar), aber wie bekomme ich heraus, ob das Programm noch aktiv ist. Mit der Window-Caption kann man leider nicht arbeiten, weil man das in meinem Programm nicht hardcoden kann/darf.

Für Links im Forum hier bin ich auch dankbar, aber ich hab keinen Ansatz dafür, was ich machen kann oder womit ich arbeiten könnte. Von dieser Thenmatik verstehe ich noch recht wenig :-/

Danke wie immer für eure Hilfe


Liebe Grüße
Aike
Achim
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Programm starten und auf Programmende warten

  Alt 4. Nov 2005, 15:47
shellexecuteandwait

[edit]
shellexecuteandwait hab ich mal gelesen, das gibt es bei mir nicht. Fürs erste kannst du mal das machen:
shellexecute(form1.Handle,'open',pansichar('calc.exe'),nil,nil,0); [/edit]
Michael Enßlin
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#3

Re: Programm starten und auf Programmende warten

  Alt 4. Nov 2005, 15:51
Oder mal nach Hier im Forum suchenShellExecute CreateProcess suchen ^^

z.B. Hilfe: ShellExecute und warten
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Programm starten und auf Programmende warten

  Alt 4. Nov 2005, 15:52
hier hab ich auch was gefunden:
Shellexecuteandwait
Michael Enßlin
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Programm starten und auf Programmende warten

  Alt 4. Nov 2005, 16:03
Hier eine Unit von Olli:
Angehängte Dateien
Dateityp: pas shellapiex_157.pas (5,6 KB, 51x aufgerufen)
Michael Enßlin
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#6

Re: Programm starten und auf Programmende warten

  Alt 4. Nov 2005, 16:16
Hi!

Schau mal in der Suche nach! Ich kann mich erinnern, dass es vor kurzem (vor ein, zwei Tagen) schon mal so was ähnliches gefragt worden ist (Hier war es das gleiche nur mit notepad.exe)!
  Mit Zitat antworten Zitat
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#7

Re: Programm starten und auf Programmende warten

  Alt 4. Nov 2005, 16:33
Das Problem an der ShellApiEx ist, dass mein Programm so lange "in der Luft hängt", bis das Programm beendet wurde. Wenn man also ein anderes Fenster über das meinige zieht, dann verschwinden alle Elemente aus der Listbox (wie bei einem hängengebliebenen Programm). Das finde ich aber ... uncool ;p

[edit]Das war übringes auch das Problem in dem anderen Thread, den du erwähnt hast. Leider gab es da keine Lösung für das Problem.[/edit]
Achim
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#8

Re: Programm starten und auf Programmende warten

  Alt 4. Nov 2005, 16:51
Das it ja geade der Sinn dieser Codes, daß die Befehler auf das Beenden des aufgerufenen Programms warten ^^

Du kannst aber den Programmaufruf in einen Anderen Thread auslagern, somit kann der Hauptthread unbehelligt weiterarbeiten.

Notfalls machst du dir auch einfach 'ne Schleife in den Hauptthread, welche solange wartet, bis der Thread (mit dem Programmaufruf fertig ist).
Und in diese Schleife dann ein Application.ProgressMessages und ein Sleep(100), oder sowas in der Art.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Programm starten und auf Programmende warten

  Alt 4. Nov 2005, 17:05
Hinters application.processmessages am besten immer ein if application.terminated then exit; Damit der User das Programm auch beenden kann, während es in der Schleife wartet.
Michael Enßlin
  Mit Zitat antworten Zitat
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#10

Re: Programm starten und auf Programmende warten

  Alt 4. Nov 2005, 17:27
Zitat von himitsu:
Du kannst aber den Programmaufruf in einen Anderen Thread auslagern, somit kann der Hauptthread unbehelligt weiterarbeiten.
Bewirkt das nicht, dass genau der Sinn des Wartens umgangen wird?


Zitat von himitsu:
Notfalls machst du dir auch einfach 'ne Schleife in den Hauptthread, welche solange wartet, bis der Thread (mit dem Programmaufruf fertig ist).
Und in diese Schleife dann ein Application.ProgressMessages und ein Sleep(100), oder sowas in der Art.
Da wüsste ich nicht, wie das gehen sollte, bin aber offen für sowas. Einen Thread zu erstellen ist für mich zwar nicht einfach, aber das würde ich in erin oder zwei Stunden auch hinbekommen Von ProcessMessages habe ich aber gar keine Ahnung.
Achim
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:26 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