HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Program indítása, leállítása programból


Példaprogram letöltése

7719 bájt

Ha arra lenne szükségünk, hogy programunkból elindítsunk egy másik alkalmazást, vagy leállítsuk azt, akkor ennek módját megismerhetjük a mellékelt cikkből.

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();
        }
      }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2001 évkönyv 162. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |