C#實現(xiàn)判斷操作系統(tǒng)是否為Win8以上版本
1、利用C#獲取OS的版本號
(1) 原理說明
Environment類的OSVersion屬性是一個OperatingSystem類型的對象,OperatingSystem類表示有關(guān)操作系統(tǒng)的信息,如版本和平臺標(biāo)識符。OperatingSystem類的Version屬性,描述了操作系統(tǒng)的主版本號、次版本號、內(nèi)部版本號和修正版本號,所以可以使用Environment.OSVersion.Version來獲取操作系統(tǒng)的版本信息。
(2) 具體代碼
using System; namespace GetOSVersionExp { class Program { static void Main(string[] args) { Version currentVersion = Environment.OSVersion.Version; //OS版本號 Console.WriteLine("Major:{0}", currentVersion.ToString()); //OS版本號的主要版本號 Console.WriteLine("Major:{0}", currentVersion.Major); //OS版本號的次要版本號 Console.WriteLine("Minor:{0}", currentVersion.Minor); //OS版本號的內(nèi)部版本號 Console.WriteLine("Build:{0}", currentVersion.Build); //OS版本號的修訂部分的值 Console.WriteLine("Revision:{0}", currentVersion.Revision); //OS版本號的修訂號的高16位 Console.WriteLine("MajorRevision:{0}", currentVersion.MajorRevision); //OS版本號的修訂號的低16位 Console.WriteLine("MinorRevision:{0}", currentVersion.MinorRevision); } } }
(3) 程序執(zhí)行結(jié)果
(4) 補充說明
版本號由二至四個部分組成:主要版本號、次要版本號、內(nèi)部版本號和修訂號。
1.主要版本號和次要版本號是必選的;
2.內(nèi)部版本號和修訂號是可選的,但是如果定義了修訂號部分,則內(nèi)部版本號就是必選的。
3.所有定義的組件都必須是大于或等于零的整數(shù)。
更多關(guān)于版本號的信息,請訪問:http://msdn.microsoft.com/zh-cn/library/system.version.aspx
關(guān)于Windows的版本信息,可以訪問:Operating System Version
2、利用反射獲取當(dāng)前正在運行的程序的版本信息
下面的代碼演示利用反射技術(shù)獲取當(dāng)前正在運行的程序的版本信息。
using System; using System.Reflection; namespace GetOSVersionExp { class Program { static void Main(string[] args) { Assembly assem = Assembly.GetExecutingAssembly(); AssemblyName assemName = assem.GetName(); Version ver = assemName.Version; Console.WriteLine("{0}, Version {1}", assemName.Name, ver.ToString()); } } }
執(zhí)行結(jié)果如下圖所示:
代碼中利用Assembly類的GetExecutingAssembly()方法獲取包含當(dāng)前正在執(zhí)行的代碼的程序集,再使用GetName()方法獲取程序集的名稱(使用AssemblyName 類的對象來表示),并通過訪問AssemblyName 的屬性Version得到程序集的版本信息。使用Assembly 類需要添加引用“using System.Reflection;”。
3 利用C#判斷當(dāng)前操作系統(tǒng)是否為Win8系統(tǒng)
直接上代碼:
using System; namespace GetOSVersionExp { class Program { static void Main(string[] args) { Version currentVersion = Environment.OSVersion.Version; Version compareToVersion = new Version("6.2"); if (currentVersion.CompareTo(compareToVersion) >= 0) {//win8及其以上版本的系統(tǒng) Console.WriteLine("當(dāng)前系統(tǒng)是WIN8及以上版本系統(tǒng)。"); } else { Console.WriteLine("當(dāng)前系統(tǒng)不是WIN8及以上版本系統(tǒng)。"); } } } }
運行程序
因為本機為WIN7系統(tǒng),所以程序運行結(jié)果為“當(dāng)前系統(tǒng)不是WIN8及以上系統(tǒng)”。
此方法在判斷系統(tǒng)是否是高于或低于某個版本的系統(tǒng)時適用,若要準(zhǔn)確判斷當(dāng)前系統(tǒng)是什么類型可以參考《C#判斷操作系統(tǒng)類型總結(jié)》的介紹。
好了,就到這里。
相關(guān)文章
C#實現(xiàn)文件與字符串互轉(zhuǎn)的方法詳解
這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)文件與字符串互轉(zhuǎn)效果,文中的示例代碼講解詳細,對我們學(xué)習(xí)C#有一定幫助,需要的可以參考一下2022-08-08WPF使用DrawingContext實現(xiàn)二維繪圖
這篇文章介紹了WPF使用DrawingContext實現(xiàn)二維繪圖的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06C# Csv實現(xiàn)基本的讀寫和轉(zhuǎn)換DataTable
本文主要介紹了C# Csv實現(xiàn)基本的讀寫和轉(zhuǎn)換DataTable,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02