AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Status eines aufgerufenen Programms abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

Status eines aufgerufenen Programms abfragen

Ein Thema von Anthauri · begonnen am 16. Nov 2004 · letzter Beitrag vom 16. Nov 2004
Antwort Antwort
Anthauri

Registriert seit: 1. Feb 2004
61 Beiträge
 
Delphi 6 Personal
 
#1

Status eines aufgerufenen Programms abfragen

  Alt 16. Nov 2004, 17:39
Mahlzeit !

ich möchte aus meinem Delphi-Programm heraus ein anderes aufrufen (Exe-Datei über Shellexecute oder so).

Wenn ich das externe Programm in der Eingabeaufforderung einzeln per Befehlszeile aufrufe teilt es mir einen Status mit, bzw gibt eine Zeile zurück, wenn es fertig ist.

Kann ich aus Delphi heraus die Rückgabewerte abfragen und darauf reagieren?
Das Programm soll nämlic_ im Batch mehrfach hintereinander aufgerufen werden, aber immer erst dann, wenn es ferigt ist.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Status eines aufgerufenen Programms abfragen

  Alt 16. Nov 2004, 17:51
Hi Anthauri,

wenn du die exe über ShellExecute aufrufst, erhälst du ein Handle als Rückgabewert:
Die OH schreibt:
If the function succeeds, the return value is the instance handle of the application that was run, or the handle of a dynamic data exchange (DDE) server application.

Sobald du das Handle hast, kannst du auch abfragen ob es noch gültig ist (die Funktion weiß ich leider nicht ). Sobald das Handle nicht mehr existiert kannst du die Anwendung nochmal starten usw.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Status eines aufgerufenen Programms abfragen

  Alt 16. Nov 2004, 19:01
Vielleicht solange GetPriorityClass(handle) abfragen bis die Funktion 0 zurückgibt ( -> Prozess existiert nicht mehr).

Oder vielleicht WaitForSingleObject(handle, INFINITE)? Vielleicht klappt das ja...
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: Status eines aufgerufenen Programms abfragen

  Alt 16. Nov 2004, 19:06
Moin Anthauri,

such' hier mal nach Hier im Forum suchenShellExecuteEx bzw. Hier im Forum suchenCreateProcess
Da solltest Du, u.a. in der Codelibrary, fündig werden.

@alcaeus:
Ich stelle mit Erschrecken fest, dass der bei D7 mitglieferte Auszug aus dem PSDK immer noch veraltet ist.
MSDN-Library durchsuchenShellExecute liefert kein Handle zurück.
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
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: Status eines aufgerufenen Programms abfragen

  Alt 16. Nov 2004, 19:09
Zitat von Christian Seehase:
@alcaeus:
Ich stelle mit Erschrecken fest, dass der bei D7 mitglieferte Auszug aus dem PSDK immer noch veraltet ist.
MSDN-Library durchsuchenShellExecute liefert kein Handle zurück.
Hmm, danke, ich überlege mir gerade ob ich nicht komplett auf meine geliebte OH verzichten sollte

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: Status eines aufgerufenen Programms abfragen

  Alt 16. Nov 2004, 19:10
Moin alcaeus,

solange es sich um die Delphi-Hilfe handelt, ist es ja kein Problem, erst wenn die Sachen dran sind, die sich mit der Windows API beschäftigen solltest Du auf das MSDN ausweichen, bzw. Dir mal das PSDK herunterladen.
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
Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Status eines aufgerufenen Programms abfragen

  Alt 16. Nov 2004, 19:13
Zitat von alcaeus:
Hmm, danke, ich überlege mir gerade ob ich nicht komplett auf meine geliebte OH verzichten sollte
Vielleicht das Platform SDK installieren? Ich glaube das ist der richtige Ersatz für die Win32's Programmers Reference aus der OH. Oder irre ich mich?
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  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 12:23 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