Le suivi des enfants de processus d'un processus

Je suis en cours d'exécution .exe fichier à l'aide de ce code:

Process proc = Process.Start("c:\program.exe");
proc.WaitForExit();

Si je commence à Stopwatch avant de commencer le processus et l'arrêter après proc.WaitForExit(); ligne, je peux obtenir à la fois que l'utilisateur a l'aide de ce programme particulier.

Le problème que je me pose, c'est que certains programmes (et des jeux) utiliser des lanceurs - petits .fichier exe qui généralement vérifie quelque chose, puis lance un autre .fichier exe qui est en fait le programme ou le jeu que l'utilisateur veut exécuter. Dans ces cas, le code ci-dessus ne fonctionne pas parce qu'il est de retour après lanceur existe.

Comment puis-je faire le suivi de tous les processus qui proc s'exécute, et attendre jusqu'à tous d'entre eux sont licenciés?

a ma réponse vous a aidé?
Malheureusement non 🙁 je ne sais pas du nom.
+1 pour la méthode d'extension.
vous devriez poster votre solution comme une réponse, et non comme une partie de la question. Je vais l'afficher comme une communauté wiki, n'hésitez pas à poster vos propres "dupliquer" réponse et laissez un commentaire sous la communauté wiki réponse, il demande à être supprimé, car il est une dup de votre propre.

OriginalL'auteur xx77aBs | 2013-07-29