A megoldáshoz a Process osztály statikus függvényeit hívhatjuk segítségül, így például a Start függvény hívásával egyszerűen indíthatunk egy-egy alkalmazást. Első paraméterként egyszerűen egy sztringben megadhatjuk a futtatandó program nevét, szükség esetén az elérési útvonallal együtt. Amennyiben a futtatandó program paramétereket is vár, akkor ezt szintén egyszerűen egy második sztringben adhatjuk meg. A mellékelt példában elindítjuk a jegyzettömb alkalmazást.
protected void button2_Click (object sender, System.EventArgs e)
{
Process.Start("Notepad.exe");
}
Ha több jegyzettömb is fut, akkor ezekről kérhetünk egy listát a Process osztály GetProcessesByName függvényével. Itt paraméterként az alkalmazás nevét kell megadnunk sztringként. Visszatérési értékként egy olyan tömböt kapunk, melynek minden eleme Process osztály típusú. Így például egy foreach ciklussal könnyen végigmehetünk az összes futó jegyzettömb alkalmazáson és hogy mit teszünk velük, az már csak rajtunk, illetve a megvalósítandó feladaton múlik. Mostani példában egy ListBox-ba gyűjtjük az éppen futó programok fejléc szövegeit, melyet a Process osztály MainWindowTitle property-je szolgáltat.
protected void button1_Click (object sender, System.EventArgs e)
{
listBox1.Items.Clear();
foreach (Process p in Process.GetProcessesByName("Notepad"))
{
listBox1.Items.Add(p.MainWindowTitle);
}
}
Ezt az előbbi algoritmust arra is felhasználhatjuk, hogy bezárjuk az összes futó jegyzettömb alkalmazást. Ekkor ugyanúgy egy ciklust kezdeményezünk az összes jegyzettömb alkalmazásra, majd a Process osztály CloseMainWindow függvényének hívásával bezárjuk mindegyik fő ablakát, mely egyben az adott program futásának végét jelenti.
protected void button3_Click (object sender, System.EventArgs e)
{
foreach (Process p in Process.GetProcessesByName("Notepad"))
{
p.CloseMainWindow();
}
}