C# ile İşletim Sistemi Kontrolü Yapmak

csharp-visual-studio

Merhaba arkadaşlar, bazen yaptığımız yada yazdığımız kodlar Windows XP, Windows Vista, Windows 7 veya başka Windows sürümlerinde çalışırken farklılık gösterebiliyor. Bunu önlememiz için ayrı ayrı kod yazmamız gerekebilir. Hangi işletim sisteminde hangi kod yapısının çalışacağını bulmak içinde bir takım yardımcı yapılar var. Bu yapıları kullanarak kolayca işletim sistemi kontrolü yapabiliriz.

Aşağıdaki tabloda işletim sistemleri ve karşısında version numaralarını görüyorsunuz. Malesef birazdan yazacağımız kodlarda dönen değer numara olarak gelmekte. O bakımdan aşağıdaki tabloyu verme gereği duydum.

 

İşletim Sistemi Version Numarası
Windows 8 6.2
Windows Server 2012 6.2
Windows 7 Service Pack 1 6.1
Windows 7 6.1
Windows Server 2008 R2 6.1
Windows Server 2008 6.0
Windows Vista 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 64-Bit Edition 5.2
Windows XP 5.1
Windows 2000 5.0

 

İşletim sistemi kontrolünü Form’un load olayında yapabilirsiniz. Çünkü form açılırken ilk olarak Form load olayı tetiklenmekte.

OperatingSystem OS = Environment.OSVersion; //Kullandığımız hazır yapı
string sistem = OS.ToString(); //Dönen veriyi string değişkene alıyoruz.
//OperatingSystem yapısından dönen değerin içinde sadece version numarası gelmediği için IndexOf komutu 
//ile string ifadenin içinde version numarasını arıyoruz. if ile kontrol ettiğimiz değer eğer varsa 
//IndexOf komutu 0 değerini döndürür.
 if (sistem.IndexOf("6.2") != -1)
            {
                MessageBox.Show("Kullandığınız İşletim Sistemi Windows 8");
            }
 else if (sistem.IndexOf("6.1") != -1)
            {
                MessageBox.Show("Kullandığınız İşletim Sistemi Windows 7");
            }
 else if (sistem.IndexOf("6.0") != -1)
            {
               MessageBox.Show("Kullandığınız İşletim Sistemi Windows Vista");
            }
 else if (sistem.IndexOf("5.2") != -1)
            {
               MessageBox.Show("Kullandığınız İşletim Sistemi Windows XP 64 Bit");
            }
 else if (sistem.IndexOf("5.1") != -1)
            {
               MessageBox.Show("Kullandığınız İşletim Sistemi Windows XP 32 Bit");
            }

Umarım yararlı olmuştur 🙂


2 comments

  1. Yıldıray Eyüp Reply

    Bu şekilde sistemin versiyonunu öğrenmek mümkün ancak yanıltıcı verilere de ulaştırabilir. Eğer kullandığımız sistem yükseltme gelmişse veya henüz kararlı sürümde değilse veya güncellemeler hiç yapılmamışsa şuan W10 kullanmama rağmen bana windows 8 diye çıktı veriyor. Dolayısıyla minor major (Sürüm notlaması veya seviyesi için belirtilen değerler) olayına daha derin bir şekilde girmelisiniz.

  2. Oğuzhan Reply

    Yardımı dokundu çok teşekkürler… 🙂
    Tamda böyle bir şey arıyordum.

Bir Cevap Yazın

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