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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 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 ) { 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" ); MessageBox.Show( "Kurulu Program Bulunamadı" ); index_search = 0; } } |