2013-09-23 6 views
0

Может ли кто-нибудь рассказать мне, как убить процесс по имени? Пример: я хочу убить «проводника», но в коде я хочу имплантировать, чтобы убить его словом «explor», а остальное должно найти код. Вот код до сих пор:Убить процесс отчасти по имени

Process[] localByName = Process.GetProcessesByName("explorer"); 
     foreach (Process p in localByName) 
     { 
      p.Kill(); 


     } 

Спасибо

ответ

5

Вы можете получить все процессы, а затем искать потом:

var processes = Process.GetProcesses(); 
foreach(var p in processes.Where(proc => proc.ProcessName.IndexOf(searchString, StringComparison.CurrentCultureIgnoreCase) > -1)) 
    p.Kill(); 
+0

Я просто wana поиск по части имени напрямую –

+0

@xeLinxel Вот что это будет делать - в случае нечувствительности (так что ваш пример будет работать) –

+0

@xeLinxel Переменная 'searchString' здесь - это« часть имени », которую вы хотите найти. –

5
var localByName = Process.GetProcesses() 
         .Where(p => p.ProcessName.Contains("explor")); 
foreach (Process p in localByName) 
{ 
    p.Kill(); 
} 
+1

Обратите внимание, что вы можете сделать дело здесь нечувствительный поиск, так как это имена процессов. –

+0

@ I4V что-то в вашем коде не работает. –

+0

Я сделал, но не убил –

Смежные вопросы