Einzelnen Beitrag anzeigen

SevenOfNine

Registriert seit: 11. Jan 2007
Ort: Giessen, Mittelhessen
41 Beiträge
 
Delphi 7 Professional
 
#6

AW: Aus eigener Anwendung Konsolenfenster starten und schließen

  Alt 9. Apr 2017, 15:48
Ähhh, willst wirklich du ein ConsolenFenster öffnen und auf dessen Beendigung warten,
oder willst du ein ConsolenProgramm starten, welches eine Console anzeigt, und auf dessen Beendigung warten?

Letzteres ist ja das Standardvorgehen und extrem einfach zu lösen.
Programm starten, ShellExecuteEx/CreateProcess geben dir das Anwendungshandle und dann warten, bis die Anwendung beendet wurde.
Ich starte ein ConsolenProgramm und ich möchte auf die Beendigung warten.
Das habe ich auch hinbekommen, wie du schon geschrieben hast "extrem einfach".

Zusätzlich möchte ich das ConsolenProgramm aber auch schließen können, von meiner Anwendung aus.
Mit CloseHandle und TerminateProcess hatte ich es nicht geschafft.

Zunächst hatte ich mit ShellExecuteEx gearbeitet, danach mit CreateProcess.
Bei CreateProcess hatte ich dann mittels EnumWindows CallBack meine ProcessInfo.dwProcessId mit den ProcessIds der Fenster verglichen, dadurch das Fenster Handle des Consolenfensters erhalten.
Dieses konnte ich nun über PostMessage mit WM_CLOSE schließen.

Bei mir funktioniert es sehr gut aber ...
vielleicht gibt es ja auch noch eine einfachere Möglichkeit.

Seven
Mein Kindheitstraum: Die 32bit Farbpalette als Bundstiftsammlung.
  Mit Zitat antworten Zitat