Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi externes programm schliessen (https://www.delphipraxis.net/119423-externes-programm-schliessen.html)

Apollonius 26. Aug 2008 14:53

Re: externes programm schliessen
 
Die Forenregeln sehen vor, erst nach 24 Stunden zu pushen.

Es gibt grundsätzlich zwei Möglichkeiten: Entweder du verwendest die Tool-Help-Api, um durch alle Prozesse zu iterieren und die Eltern-Prozess-ID zu erhalten. Damit kannst du allerdings in bestimmten Fällen nicht alle Prozesse ermitteln: Wenn du nach Kindern von Prozess A suchst, kann es passieren, dass A einen Prozess B gestartet hat, der wiederum C erzeugt hat. Wenn B nun terminiert, kommst du nicht mehr an C heran.
Die zweite Möglichkeit verwendet ein Job-Objekt. Du musst Prozess A in den Job stecken (AssignProcessToJobObject). Alle Kindprozesse, die ab diesem Zeitpunkt erzeugt werden, sind ebenfalls im Job. Mit QueryInformationJobObject erhältst du eine Liste aller Prozesse im Job. Auch hier gibt es jedoch Nachteile: Erstens musst du zuerst den Prozess dem Job zuweisen. Zweitens kann ein Prozess nur in einem Job sein; es kann also zu Fehlern kommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:54 Uhr.
Seite 2 von 2     12   

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