2010-12-15 327 views
1

Voici mon problème:C# Get Process information détaillée

Par exemple, permet de dire que j'ai Chrome courir avec 5 onglets, cela va créer 6 processus appelés chrome.exe, l'un pour le chrome et un chacun pour les onglets.

Maintenant, en utilisant Process.GetProcessesByName ("chrome") retournera tous les 6 processus.

Comment puis-je déterminer lequel des processus est le principal?

Il est possible que c'est ce que Process Explorer fait: alt text

Fondamentalement, je veux obtenir la poignée pour le processus de chrome maître, comment dois-je faire cela?

+0

Pas tout à fait sûr mais que se passe-t-il si vous cassez une languette? Ma conjecture est qu'il tombe toujours sous le seul noeud chrome.exe. Ma curiosité est de savoir si vous supposez une vue physique, c'est-à-dire que ... dans Chrome, l'onglet est identique à plusieurs instances ... Je crois que ce sont les mêmes. Je serais intéressé de voir comment 3 processus différents d'une application ressemblent à l'explorateur de processus car je ne me souviens pas à quoi cela ressemblera. –

Répondre

3

Cela dépend vraiment du processus que vous voulez étudier/analyser. Seuls les processus savent comment ils se comportent en interne.

Dans le cas spécifique de Chrome, vous pouvez vérifier lequel est le parent des autres.

Voici un lien pour déterminer un processus parent: How to get parent process in .NET in managed way

0
  1. Regardez tous les « chrome.exe » processus
  2. Celui qui est le parent de tous les autres est la principale
+1

+0: Je pense que vous avez mal lu la question. L'OP voulait savoir comment le faire dans le code. Il utilisait Process Explorer comme exemple d'un programme qui l'a fait avec succès. – Brian