Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi mit CreateProcess(...) gestarteten Prozess "hart" beenden (https://www.delphipraxis.net/169107-mit-createprocess-gestarteten-prozess-hart-beenden.html)

pjanfred 29. Jun 2012 07:14

mit CreateProcess(...) gestarteten Prozess "hart" beenden
 
Hallo alle zusammen,

weiß jemand wie ich einen mit CreateProcess(...) gestarteten Prozess hart beenden kann?

Mit
Code:
WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
warte ich ja auf die Beendigung des Prozesses, ich würde Ihn aber gerne sofort beenden oder Ihm zu mindestens sagen das er sich beenden soll.

Die Forums Suche sowie Google habe ich schon verwendet, jedoch bin ich leider nicht fündig geworden.

Gruß
Jan

Furtbichler 29. Jun 2012 07:26

AW: mit CreateProcess(...) gestarteten Prozess "hart" beenden
 
Zitat:

Zitat von pjanfred (Beitrag 1172927)
Die Forums Suche sowie Google habe ich schon verwendet, jedoch bin ich leider nicht fündig geworden.

Versuchs mal mit 'kill process windows' z.B. Mir sprang da 'TerminateProcess' ins Auge (aua)

jaenicke 29. Jun 2012 07:33

AW: mit CreateProcess(...) gestarteten Prozess "hart" beenden
 
Zusätzlich müsstest du das Warten abbrechen können. Dafür bietet sich WaitForMultipleObjects und ein Event oder eine Schleife an, je nachdem was du machen möchtest, also wann du abbrechen willst (nach einer Zeit, dann reicht auch ein Timeout für WaitforSingleObject, oder per Knopf, dann das Event, oder mit einer Bedingung, dann die Schleife inkl. WaitForSingleObject, ...).

pjanfred 29. Jun 2012 10:33

AW: mit CreateProcess(...) gestarteten Prozess "hart" beenden
 
Vielen Dank! TerminateProcess ist perfekt :)

Konkret ging es darum ein Dokument mit dem Adobe Reader zu drucken. Wenn man diesen jedoch per Befehl zum Drucken startet, dann wird er anschließend nicht beendet. Aus diesem Grund starte ich ihn an, warte solange bis der Standarddrucker keine Aufträge mehr hat und beende ihn dann wieder usw.

Jan


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