Entwickler-Ecke
Windows API - prüfen ob ein Prozess beendet worden ist
wolle87 - Do 04.03.10 14:44
Titel: prüfen ob ein Prozess beendet worden ist
Hi,
folgendes Problem:
ich würde gerne feststellen, ob ein bestimmter Prozess beendet worden ist.
Ich möchte nämlich eine Logout Zeit in einem Grid festhalten wenn eben dieser Prozess beendet worden ist.
Wie könnte ich sowas hinbekommen ?
Danke im Voraus!
Gruß
BenBE - Fr 05.03.10 01:41
Für einzelne Prozesse mit WaitForSingleObject + Handle auf diesen Prozess.
Wenn viele Prozesse, dann Multithreaded + WaitForMultipleObjects.
ffgorcky - Fr 05.03.10 22:38
Also ich gehe mal davon aus, dass der Prozess im gleichen Programm läuft.
Die einzige Lösung, die mir da so spontan einfällt, ist, dass Du eine boolsche Variable nimmst (z.B. prozesslaeuft), die Du dann eben vor dem eigentlichen Prozess eben auf true und danach wieder auf false setzt.
Diese Variable könntest Du dann ja durch einen Timer abfragen, wann sie wieder false ist - dann merkst Du es doch.
Ich denke mal, dass selbst Du hier im Forum noch recht neuer mit dieser Lösung klar kommen müsstest.
Delete - Fr 05.03.10 23:24
ffgorcky hat folgendes geschrieben : |
Also ich gehe mal davon aus, dass der Prozess im gleichen Programm läuft. |
Das geht nicht. Ein Prozess ist immer unabhängig von anderen Prozessen und kann nie
in einem Prozess laufen, was auch immer damit gemeint ist. Er hat somit auch keinen Zugriff auf den Adressraum eines anderen Prozesses. Ein Prozess kann nur einen Elternprozess haben, nämlich den Prozess, der ihn erzeugt hat. Der zu überwachende Prozess muss vom eigenen Prozess gestartet worden sei. Dann hat man ein Handle, welches man in WaitForSingleObject nutzen kann. Sie dazu auch ShellExecuteAndWait oder wie die Funktion heißt, die in den Foren rumgeistert.
Atlernativ kann man natürlich stöändig alle Prozesse pollen und gucken, ob der entsprechende Prozess noch unter den laufenden Prozessen ist.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!