C# Dersleri 47 - Process Class Kullanımı

     Uygulamalarımızda bazen başka uygulamalara müdahale etmek isteriz. Bu konuda C# dilindeki Process classı çok işimizi görür. Bir uygulamayı çalıştırmak / sonlandırmak, bir uygulamanın çalışıp çalışmadığını kontrol etmek, bir website açmak gibi işlemler yapmak istediğimizde Process classını kullanabiliriz. Process classı System.Diagnostics kütüphanesinde, dolayısıyla bu kütüphaneyi projemize eklememiz gerekiyor.

     Process.Start()

     Bir exe çalıştırmak için Process.Start() methodunu kullanabiliriz. Bu method, parametre olarak çalıştırılacak uygulamanın adını alır.      

private void btnClick_Click(object sender, EventArgs e)
{
    Process.Start("Notepad");
}

     Bu kod bloğu ile notepad'i çalıştırabiliriz. System32 klasöründeki exe'leri, tıpkı notepad gibi, tam adresini vermeden doğrudan çalıştırabilirsiniz. Ancak bu klasör dışındaki bir exe'yi çalıştırmak isterseniz tam adresini vermeniz gerekir.     

private void btnClick_Click(object sender, EventArgs e)
{
    Process.Start("D:/Deneme/test.exe");
}

     Bu method ile bir website çalıştırılmasını sağlayabiliriz :     

private void btnClick_Click(object sender, EventArgs e)
{
    Process.Start("http://www.emreyldrm.com");
}

     Process.GetProcesses()

     Kullanıcının bilgisayarında çalışmakta olan tüm uygulamaları görmek istersek Process.GetProcesses() methodunu kullanabiliriz. Bu method parametre kabul etmez ve Process dizisi tipinde sonuç döndürür.     

private void btnClick_Click(object sender, EventArgs e)
{
    Process[] prcArray = Process.GetProcesses();
    foreach (Process p in prcArray)
    {
        MessageBox.Show(p.ProcessName);
    }
}

     Responding() ve Kill()

     Responding() methodu, bir uygulamanın yanıt verip vermediğini kontrol etmemizi sağlar. True/False tipinde sonuç döndürür. Kill() methodu ise bir uygulamayı sonlandırmamızı sağlar.     

private void btnClick_Click(object sender, EventArgs e)
{
    Process[] prcArray = Process.GetProcesses();
    foreach (Process p in prcArray)
    {
        if (!p.Responding)
        {
            p.Kill();
        }
    }
}

     Burada kullanıcının bilgisayarındaki çalışan uygulamaların cevap verip vermediğini kontrol ediyoruz. Eğer cevap vermeyen varsa Kill() methodunu kullanarak uygulamayı sonlandırıyoruz.

YORUMLAR
Email Adresi *
Görüntülenecek İsim *
Yorum *
Paylaş
  • f