Employez C# pour trouver ce qui entretient court dans un processus
Note : ce contenu à l'origine de http://mygreenpaste.blogspot.com. Si vous êtes lecture il d'un autre emplacement, prenez svp le temps de visiter Ma pâte verte, inc.. Merci.
Récemment, aller individuel par le moniker « salut » signalé un commentaire à Établir la priorité d'un processus de service par l'intermédiaire du manuscrit:
Comment I, si je veux à, la trouvaille que les services font partie d'un svchost.exe particulier ? Peut dans être fait dans C# ?
Merci !
J'ai répondu par l'intermédiaire du commentaire, mais on a même moins de contrôle de la composition dans les commentaires qu'on fait dans le blog réel signalant, ainsi j'ai figuré que je signalerais la réponse ici aussi bien.
=================
Tasklist.exe avec /svc le param peut vous indiquer, en tant que bidon Explorateur de processus. Vous pouvez également inspecter l'enregistrement pour déterminer quels services chargeraient avec quel groupe de SVCHOST (voyez « Questions de dépannage d'exécution avec les mises à jour automatiques« pour plus de détails).
Jusque le code de C#, ce qui suit exige une référence à System.Management. Appelez le programme, lui passant l'identification de processus du processus que vous êtes curieux environ, et il produira les services fonctionnant dans ce processus.
employer le système ;
employer System.Management ;
namespace MyGreenPaste
{
programme de classe
{
principal vide de charge statique (args de corde [])
{
si (args.GetLength (0) <= 0)
{
Console.WriteLine (« utilisation : {0} pid ",
System.IO.Path.GetFileName (
System.Diagnostics.Process.GetCurrentProcess ().
MainModule.FileName)) ;
Console.WriteLine (« où le pid est l'identification de processus » +
« d'un processus accueillant au moins un service ») ;
retour ;
}
essai
{
ManagementObjectSearcher MOS =
nouveau ManagementObjectSearcher (« \ de racine \ CIMV2 »,
corde. Format (« CHOISISSEZ * À PARTIR de Win32_Service » +
« où ProcessId= {0} », args [0])) ;
foreach (résultat de ManagementObject dans le MOS. Obtenez ())
{
Console.WriteLine (« {0} -> {1} « , résultat [« nom »],
résultat [« DisplayName »]) ;
}
}
crochet (mex de ManagementException)
{
Console.WriteLine (« erreur WMI de question de ** : {0} {1} »,
System.Environment.NewLine, mex. Message) ;
}
}
}
}
Écrit/par  « \/\ Ø|² DE ö±à \/ » ®©. Les alimentations plus grandes lues à est source SITE WEB
aucuns commentaires.
Lisez plus d'articles dessus Explorateur de processus et tasklist et WMI et SVCHOST et otherSoftware et c# et processus et services.
- [+] Digg: Comportez cet article
- [+] Del.icio.us: Bookmark cet article
- [+] Furl: Bookmark cet article














