Windows İşletim Sistemi Bilgilerini Almak
Windows İşletim Sistemi bilgilerini almak ve o bilgilere göre işlem yapmak istiyebiliriz. Windows İşletim Sistemi Bilgileri’nden demek istediğim.
- Platform
- Versiyon
- Türü
- CLR Versiyonu
bilgilerinden bahsediyorum. Bu bilgilere çok ihtiyaç duymayabiliriz aslında ama ihtiyacım olduğun da sıkça kullandığım bir kod bloğunu paylaşacağım.
Windows İşletim Sistemi Bilgileri’ni almak için C Sharp tan yararlanacağız.Windows İşletim Sistemi Bilgilerini almak için kullanacağımız sınıf System.Environment.OSVersion bu da OperatingSystem den türemiştir.
OperatingSystem OS = System.Environment.OSVersion; Console.WriteLine("Platform :", OS.Platform); Console.WriteLine("Versiyon Bilgisi", OS.Version); Console.WriteLine("İşletim Sistemi Türü", OS.VersionString); Console.WriteLine("CLR Versiyonu:", System.Environment.Version);
Gerekli bilgileri aldık. Eğer bu yeterli değilse daha detaylı bir bilgiye ulaşmak isterseniz tabloya bakalım.
+--------------------------------------------------------------+ | |Windows|Windows|Windows|Windows NT|Windows|Windows| | | 95 | 98 | Me | 4.0 | 2000 | XP | +--------------------------------------------------------------+ |PlatformID | 1 | 1 | 1 | 2 | 2 | 2 | +--------------------------------------------------------------+ |Major | | | | | | | | version | 4 | 4 | 4 | 4 | 5 | 5 | +--------------------------------------------------------------+ |Minor | | | | | | | | version | 0 | 10 | 90 | 0 | 0 | 1 | +--------------------------------------------------------------+
Tablodan da göreceğiniz üzere işletim sistemlerinin Major ve Minor diye adlandırılan versiyonları da bulunmakta. Bu minor ve major versiyonlara göre de işlemler gerçekleştirebiliyoruz.
Minör ve ya Major versiyonlarına göre kullanıcının hangi işletim sistemini kullandığını öğrenmek mümkün.
System.OperatingSystem osBilgi =System.Environment.OSVersion; switch(osBilgi.Platform) { case System.PlatformID.Win32Windows: switch (osBilgi.Version.Minor) { case 0: Console.WriteLine ("Windows 95"); break; case 10: Console.WriteLine("Windows 98"); break; case 90: Console.WriteLine("Windows Me"); break; } break; case System.PlatformID.Win32NT: switch(osBilgi.Version.Major) { case 3: Console.WriteLine("Windows NT 3.51"); break; case 4: Console.WriteLine("Windows NT 4.0"); break; case 5: if (osBilgi.Version.Minor==0) Console.WriteLine("Windows 2000"); else Console.WriteLine("Windows XP"); break; }break; } Console.ReadLine ();
Saolun çok güzel bilgi peki bu kod linux işletim sistemlerini gösterirmi? Anladığım kadarıyla sadece windows işletim sistemlerinin bilgilerini çekiyor.
Teşekkür ederim Murat bey, evet sadece Windows işletim sistemi bilgisini almakta. Diğer işletim sistemi için denemedim açıkcası.
.Net kütüphaneleri söz konusu olduğundan Linux bilgilerini almasının imkanı yok. Yanılıyor muyum?