Usi C# per trovare che cosa assiste sta funzionando in un processo
Nota: questo soddisfare originalmente da http://mygreenpaste.blogspot.com. Se siete lettura esso da un certo altro luogo, occorra prego tempo visitare La mia colla verde, inc. Grazie.
Recentemente, andare specifico dal moniker “ciao„ ha inviato un commento a Stabilendo la priorità di un processo di servizio via lo scritto:
Come I, se desidero a, ritrovamento che i servizi fanno parte di uno svchost.exe particolare? Può in essere fatto in C#?
Grazie!
Ho risposto via il commento, ma uno ha ancor meno controllo sopra la formattazione nelle osservazioni che una fa nel blog reale che invia, in modo da ho calcolato che invierei la risposta qui pure.
=================
Tasklist.exe con /svc il param può dirgli, come latta Esploratore trattato. Potete anche controllare la registrazione per determinare che servizi caricherebbero con che gruppo di SVCHOST (veda “Edizioni d'analisi guasti di prestazioni con gli aggiornamenti automatici“per più particolari).
Fino al codice di C#, ciò che segue richiede un riferimento a System.Management. Esegua il programma, passantegli l'identificazione trattata del processo che siete curiosi circa e produrrà i servizi che funzionano in quel processo.
usando sistema;
usando System.Management;
namespace MyGreenPaste
{
programma del codice categoria
{
principale vuoto di elettricità statica (args della stringa [])
{
se (args.GetLength (0) <= 0)
{
Console.WriteLine (“uso: {0} pid ",
System.IO.Path.GetFileName (
System.Diagnostics.Process.GetCurrentProcess ().
MainModule.FileName));
Console.WriteLine (“dove il pid è l'identificazione trattata„ +
“di un processo che ospita almeno un servizio„);
ritorno;
}
prova
{
ManagementObjectSearcher MOS =
nuovo ManagementObjectSearcher (“\ \ CIMV2 della radice„,
stringa. Disposizione (“SELEZIONI * A PARTIRE da Win32_Service„ +
“dove ProcessId= {0}„, args [0]));
foreach (risultato di ManagementObject in MOS. Ottenga ())
{
Console.WriteLine (“{0} -> {1} “, risultato [“nome„],
risultato [“DisplayName„]);
}
}
fermo (mex di ManagementException)
{
Console.WriteLine (“errore WMI d'interrogazione del **: {0} {1}„,
System.Environment.NewLine, mex. Messaggio);
}
}
}
}
Scritto/\/\ Ø da  “|² \/„ ®© DI ö±Ã. Le alimentazioni più grandi colte a è fonte WEB SITE
nessun osservazioni.
Legga più articoli sopra Esploratore trattato e tasklist e WMI e SVCHOST e otherSoftware e c# e processi e servizi.
- [+] Digg: Caratterizzi questo articolo
- [+] Del.icio.us: Bookmark questo articolo
- [+] Furl: Bookmark questo articolo














