C# (CShap) ile yazılımınız kurulu olduğu bilgisayarın hangi antivirüs programı kullandığını öğrenmek gibi bir ihtiyacınız olabilir. Peki geniş C# kütüphanesinde bu işlemi yapmak çok kolay.
Sytem.Management kütüphanesinde ManagementObjectSearcher sınıfını kullanmalıyız.
Öncelikle oluşturduğunuz projede Sytem.Management kütüphanesini projemize dahil edelim.
using System.Management;
Fakat bunu birde kütüphanemize dahil etmemiz lazım. Sağ tarafta bulunan “Çözüm Gezgini(Properties)” penceresi altında “Başvurular”‘a sağ tıklayın. “Başvuru Ekle” seçeneğini seçin.
Açılan pencerede sağ tarafta arama kutusuna “System.Management” yazın ve çıkan kütüphaneni seçin. Projeye dahil edin.
Şimdi kodlarımıza geçelim. Öncelikle ManagementObjectSearcher sınıfı bir veri tabanı mantığı olarak çalışmaktadır. “AntivirusProduct” tablosunda bulunan değerlerin hepsini çekelim ve bir “var” değişkenin içine atalım.
Ayrıca bu Windows 7 ve Üzeri içindir, Eğer alt bir işletim sisteminde kontrol sağlanacak ise WMI dizini değişmesi lazım yani;
Windows 7 Alt sürümleri:
var gelensonuc = new ManagementObjectSearcher(@"rootSecurityCenter", "SELECT * FROM AntiVirusProduct");
Windows 7 ve Üst Sürümler
var gelensonuc = new ManagementObjectSearcher(@"rootSecurityCenter2", "SELECT * FROM AntiVirusProduct");
“gelensonuc” değişkenini Get metodu ile tetiklememiz gerekmektedir. Get ile sonucu tabii bir başka “var” değişkenine aktarmamız gerekir.
Daha sonrasında yeni “var” değişkenimizi “foreach”döngüsü ile çözümlememiz lazım. Fark ettiyseniz normal veritabanı mantığını görürsünüz.
“foreach” döngüsü içinde yakalamamız gereken veri ismi “displayName”.
Sonucumuzu mesaj kutusunda gösterelim.
var antivirus_sonuc = gelensonuc.Get();
foreach (var dongu in antivirus_sonuc)
{
string mesaj_yazisi = "Antivirüs Programı : " + dongu["displayName"].ToString();
MessageBox.Show(mesaj_yazisi);
}
Yapacağımız işlemler bu kadardı problemleriniz veya yardımcı olabileceğimiz konular için bize ulaşın.