Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

ich habe ein Problem. Und zwar starte ich einen Prozess mit "CreateProcess". Diesen kann ich nach getaner Arbeit auch sauber beenden. Jedoch läuft dieser Prozeß in der DOS-Box ab. Diese schließt sich leider nicht automatisch. Wie kann ich an ihre ProzeßID kommen, um sie zu killen. Ich müll mir ja sonst den Speicher mit geöffneten DOS-Boxen zu und irgendwann schmiert mir die Kiste ab.

Hab schon mit GetCurrentProcessID etc. versucht, aber damit kann ich nur auf Prozesse zugreifen, die ich auch selber gestartet habe.

Gruß an alle..vom Onkel

Geschrieben

Oha, Programme, die ihre eigene Laufzeitumgebung abschiessen, spassig... ;)

Ich wuerde mal die dazugelinkten Runtime-Biblitotheken durchsehen. Von Borland-Compilern weiss ich, dass die erzeugten DOS-Boxen defaultmaessig wieder geschlossen werden bei Programmende.

Uli

Geschrieben

Das macht auch der Microsoft-Compiler.

Bei Visual C++ gibt es in der winbase.h ein struct, daß sich PROCESS_INFORMATION nennt. In dieser Struktur findest du die ProcessID, die ThreadID und Handels für den Process und den Thread, der mit CreateProcess gestartet wurde.

Mit ExitProcess() kannst due den Prozess wieder beenden.

CU WW

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...