Use C# encontrar o que presta serviços de manutenção está funcionando em um processo
Nota: este índice originalmente de http://mygreenpaste.blogspot.com. Se você for leitura ele de algum outro local, faça exame por favor do momento de visitar Minha pasta verde, Inc. Obrigado.
Recentemente, ir individual pelo moniker “hi” afixado um comentário a Ajustando a prioridade de um processo do serviço através do certificado:
Como I, se eu quisesse a, o achado que os serviços são parte de um svchost.exe particular? Pode em ser feito em C#?
Obrigado!
Eu respondi através do comentário, mas um tem mesmo menos controle sobre o formato nos comentários do que um faz no blog real que afixa, assim que eu figurei que eu afixaria a resposta aqui também.
=================
Tasklist.exe com /svc o param pode dizê-lo, como a lata Explorador Process. Você pode também inspecionar o registro para determinar que serviços carregariam com que grupo de SVCHOST (veja “Edições de pesquisa de defeitos do desempenho com Updates automáticos“para mais detalhes).
Até o código de C#, o seguinte requer uma referência a System.Management. Invoque o programa, passando lhe a identificação process do processo que você é curioso aproximadamente, e output os serviços que funcionam nesse processo.
usando o sistema;
usando System.Management;
namespace MyGreenPaste
{
programa da classe
{
principal vago da estática (args da corda [])
{
se (args.GetLength (0) <= 0)
{
Console.WriteLine (“uso: {0} pid ",
System.IO.Path.GetFileName (
System.Diagnostics.Process.GetCurrentProcess ().
MainModule.FileName));
Console.WriteLine (“onde o pid é a identificação process” +
“de um processo que hospeda pelo menos um serviço”);
retorno;
}
tentativa
{
ManagementObjectSearcher MOS =
ManagementObjectSearcher novo (da “\ raiz \ CIMV2”,
corda. Formato (“SELECIONE * de Win32_Service” +
“onde ProcessId= {0}”, args [0]));
foreach (resultado de ManagementObject no MOS. Comece ())
{
Console.WriteLine (“{0} -> {1} “, resultado [“nome”],
resultado [“DisplayName”]);
}
}
prendedor (mex de ManagementException)
{
Console.WriteLine (do “erro WMI perguntando **: {0} {1}”,
System.Environment.NewLine, mex. Mensagem);
}
}
}
}
Escrito/de  “\/\ Ø|² DE ö±à \/” ®©. As alimentações mais grandes lidas em são fonte WEB SITE
nenhuns comentários.
Leia mais artigos sobre Explorador Process e tasklist e WMI e SVCHOST e otherSoftware e c# e processos e serviços.
- [+] Digg: Caracterize este artigo
- [+] Del.icio.us: Bookmark este artigo
- [+] Furl: Bookmark este artigo














