C# ile Bilgisayarda Kurulu Programları Bulma

Bir proje ile uğraşırken bilgisayarda herhangi bir programın kurulu olup olmadığını kontrol etmem gerekti ve epey araştırdıktan sonra bir şeyler bulup programıma uyarladım. Sonra da bu uygulamayı sizlerle paylaşmak istedim. Tasarladığım bu formda istediğiniz bir program bilgisayarda kurulu mu değil mi onu arıyor ve tüm programları listview üzerinde kurulu olanları ise listbox üzerinde listeliyor. Aramak istediğiniz programın ismini textbox’a girmeniz ve Ara butonu’na tıklamanız yeterli. Kötü yanı ise maalesef program büyük küçük harfe duyarlı olarak çalışmakta. Kendiniz harf dönüşümleri ile bu sorunu çözebilirsiniz. Vakit bulabilirsem onu da yapmak gibi bir planım var. Umarım işinize yarar.

Programın arayüzü aşağıdaki gibi;

Kod ise sadece buton’un Click event’ine yazılmıştır ve aşağıdaki gibidir.

listView1.Clear();
listBox1.Items.Clear();          
string prganahtar = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
RegistryKey anahtar = Registry.LocalMachine.OpenSubKey(prganahtar);
string[] altanahtar = anahtar.GetSubKeyNames();
string[] programlar = new string[altanahtar.Length];
int sonuc = -1;
for (int i = 0; i < altanahtar.Length; i++)
{
   RegistryKey SubKey = anahtar.OpenSubKey(altanahtar[i]);
   try
   {
      string prgismi = SubKey.GetValue("DisplayName").ToString().Trim();
      if (!String.IsNullOrEmpty(prgismi))
        {
             programlar[i] = prgismi;
             sonuc = programlar[i].IndexOf(textBox1.Text);
             if (sonuc >= 0)
               {
                  listBox1.Items.Add(programlar[i]); 
               }
             listView1.Items.Add(programlar[i]);
         }
    }
    catch
    {
        Application.DoEvents();
    }
        SubKey.Close();
}
anahtar.Close();

 

İyi günler dilerim herkese;

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir