C# - Yüklü programların listesini almak


25.09.2020 / Serdar Kardan


C# - Yüklü programların listesini almak

Windows yüklü bir bilgisayarda kurulu programların C# ile listesini almak için registry’ ye erişmemiz gerekiyor. Bunun için de Microsoft.Win32 namespace’ ini kullanarak temel bir örnek uygulama yazacağız.

Öncelikle aşağıdaki gibi bir form oluşturuyoruz. Form’ da bir TextBox ve bir de buton var. (TextBox ın özelliklerinden ScrollBars özelliğini Vertical olarak ve Multiline özelliğini True olarak ayarlıyoruz.)

Get Installed Software List

Butonun Click Event’ ına ise aşağıdaki kodları ekliyoruz.

using System;
using System.Data;
using System.Linq;
using System.Windows.Forms;
using Microsoft.Win32;

namespace InstalledPrograms
{
	public partial class FrmSoftwaresList : Form
	{
		public FrmSoftwaresList()
		{
			InitializeComponent();
		}

		private void btnGetList_Click(object sender, EventArgs e)
		{
			using (RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"))
			{
				var isim = from k in reg.GetSubKeyNames()
						   let r = reg.OpenSubKey(k)
						   select r.GetValue("DisplayName");
				foreach (string program in isim)
				{
					if (!string.IsNullOrWhiteSpace(program))
					{
						tbxProgramList.Text = tbxProgramList.Text + program + "\r\n";
					}
				}
			}
		}
	}
}

Burada dikkat edilmesi gereken nokta, oluşturduğumuz RegistryKey nesnesi ile erişmek istediğimiz nokta olan SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall alt anahtarıdır.

Nesne oluşturulduktan sonra gelen koleksiyondan DisplayName değerlerini alıyoruz ve bunları TextBox’ ta her biri yeni bir satırda olacak şekilde ekliyoruz… 

Sonucu aşağıdakine benzer şekilde görmüş olmanız gerekiyor.

Get Installed Software List

Programın kaynak kodlarını da buradan indirip inceleyebilirsiniz…
C# - Get Installed Software List 

Registry ile ilgili daha fazla detaya ulaşmak için de Microsoft Docs incelenebilir...

 



25.09.2020 - 3556


Etiketler : c#,windows Registry,Microsoft.Win32,RegistryKey,GetValue
Leave a Comment:

Bunlar da ilginizi çekebilir
Windows Presantation Foundation Terminal Server Print Hatası
Windows Server 2008 Terminal server üzerinden uzak kullanıcılar çıktı almaya çalıştığında bazen bu can sıkıcı hatayla karşılaşmaktayız. Bu yazı ile hatanın çözümünü sizlerle paylaşmak istiyorum.
Spooler Error-Yazdırma briktiricisi başlatılamıyor.
Printer Subspooler Hatası nasıl nasıl giderilir?
Gizli Sürücü ve Donanımları Kaldırmak
Sisteminizde artık kullanmadığınız ya da yanlış yüklenmiş donanımlar ve bunlara ait sürücüleri kaldırmanız gerekebilir.
 

En çok Okunanlar



Bumerang - Yazarkafe