Nejdříve si zadefinujeme pole, do kterého později uložíme odkazy(Process je odkazový typ, proto odkaz) na všechny běžící procesy. Dále si zadefinujeme jméno procesu, který chceme zavřít (pro jednoduchost budeme chtít zavřít Notepad).
Získání a uložení všech běžících procesů aplikace jménem jmenoProcesu:private Process[] beziciProcesy;
private string jmenoProcesu = "Notepad";
beziciProcesy = Process.GetProcessesByName(jmenoProcesu );
Problém může nastat, když máme otevřeno více instancí jedné aplikace. Název procesu bude stejný, proto musíme instance nějak rozlišit. Pokud známe Id procesu (je to jedna z jeho vlastností - property), nebude to větší problém.Process tempProc = Process.GetProcessById(idProcesu);Pokud checeme zavřít všechny instance aplikace, jednoduše projdeme přes všechny procesy, které jsme získali metodou GetProcessesByName, a zavřeme je obdobným způsobem.
tempProc.CloseMainWindow;
tempProc.WaitForExit();
foreach (Process jedenProces in beziciProcesy)Metoda CloseMainWindow() funguje pouze pro okenní aplikace, pro aplikace, které nemají okno (např. konzolové), slouží metoda Kill().
{
jedenProces.CloseMainWindow();
jedenProces.WaitForExit();
}
Tento příklady je jen výcucem z této stránky, kde je více podrobností.
Žádné komentáře:
Okomentovat