Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#9

Re: Beenden eines Prozesses als eingeschränkter User verhind

  Alt 19. Jul 2005, 13:31
Zitat von alcaeus:
Du hast deine Anwendung (A) die etwas bestimmtes macht. Nun startest du darin einen Thread, welches prueft, ob ein bestimmtes Programm (B) laeuft. Wenn es nicht gestartet ist, dann hoch damit. Dieser Check sollte ca. 1 mal pro Sekunde gemacht werden: also einmal die PID holen und dann nur noch einen Aufruf von MSDN-Library durchsuchenOpenProcess machen. Schlaegt der fehl, startest du schnellstens Programm B.
Programm B hat nun die Aufgabe, A zu ueberwachen. Dies geschieht gleich wie oben, d.h. wenn A nicht laeuft, wirds gestartet. So, wenn du jetzt einen der Prozesse ueber den Taskmanager abschiesst, wird der andere Prozess diesen sofort wieder starten.
Mit Verlaub, das ist sinnlos. Wenn du es machen willst, dann gleich über einen Launcher. Der kann bspw. mit ShellExecuteAndWait() oder ähnlichen Funktionen in einer Schleife die Anwendung B immer neu starten. Denn dank der Wait-Funktionen bekommt ShellExecuteAndWait() ja mit, ob und wann sich der "Kindprozeß" (also Programm B) beendet.
  Mit Zitat antworten Zitat