Предположим, вы хотите закрыть блокнот. следующий код сделает это:
private void CloseNotepad(){
string proc = "NOTEPAD";
Process[] processes = Process.GetProcesses();
var pc = from p in processes
where p.ProcessName.ToUpper().Contains(proc)
select p;
foreach (var item in pc)
{
item.CloseMainWindow();
}
}
Вопросы:
Если в блокноте есть несохраненный текст, появится всплывающее окно «Хотите сохранить ....?» диалоговое окно или, если процесс не имеет пользовательского интерфейса, он выдает следующее исключение
'item.CloseMainWindow()' threw an exception of type
'System.InvalidOperationException' base {System.SystemException}:
{"No process is associated with this object."}
Если вы хотите немедленно завершить процесс, замените
item.CloseMainWindow()
с
item.Kill();
Если вы хотите пойти по пути PInvoke, вы можете использовать дескриптор из выбранного элемента.
item.Handle; //this will return IntPtr object containing handle of process.