C# örneklerimize bilgisayarda kurulu olan programları listeleme ve arama örneği ile devam ediyoruz. Uygulama için ilk olarak aşağıdaki form tasarımını yapıyoruz form üzerine birer tane Listview, TextBox ve Button ekliyoruz.
Program çalıştırıldığı zaman listview içerisine bilgisayarda kurulu olan programların adı ve versiyon bilgilerini ekleyecek, bunun için gerekli olan bilgileri regedit içerisinden Unistall klasöründen alacağız.
string registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"; using (Microsoft.Win32.RegistryKey key = Registry.LocalMachine.OpenSubKey(registry_key)) { foreach (string subkey_name in key.GetSubKeyNames()) { using (RegistryKey subkey = key.OpenSubKey(subkey_name)) { try {//https://www.bilisimogretmeni.com ListViewItem program = new ListViewItem(); program.Text = subkey.GetValue("DisplayName").ToString(); program.SubItems.Add(subkey.GetValue("DisplayVersion").ToString()); listView1.Items.Add(program); } catch (Exception ) { } } } }
Daha sonra Kullanıcı Textbox’a aradığı program ile ilgili bir kelime yazıp arama butonuna basınca Listview içerisinde arama yapılıp seçili hale gelecek, bu işlem için gerekli kodlarımız
private int index_search = 0; private void button1_Click(object sender, EventArgs e) { if (listView1.Items.Count == 0) return; if (index_search == listView1.Items.Count) { MessageBox.Show("Kurulu Program Bulunamadı"); index_search = 0; } ListViewItem foundItem = listView1.FindItemWithText(txtprogram.Text, true, index_search, true); if (foundItem != null) { //https://www.bilisimogretmeni.com listView1.TopItem = foundItem; foundItem.Selected = true; listView1.Select(); index_search = foundItem.Index + 1; } else { if (index_search.Equals(0)) MessageBox.Show("Aranan Program Bilgisayarda Kurulu Değil"); else //https://www.bilisimogretmeni.com MessageBox.Show("Kurulu Program Bulunamadı"); index_search = 0; } }