C#實現(xiàn)判斷操作系統(tǒng)是否為Win8以上版本
1、利用C#獲取OS的版本號
(1) 原理說明
Environment類的OSVersion屬性是一個OperatingSystem類型的對象,OperatingSystem類表示有關操作系統(tǒng)的信息,如版本和平臺標識符。OperatingSystem類的Version屬性,描述了操作系統(tǒng)的主版本號、次版本號、內部版本號和修正版本號,所以可以使用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版本號的內部版本號
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í)行結果

(4) 補充說明
版本號由二至四個部分組成:主要版本號、次要版本號、內部版本號和修訂號。
1.主要版本號和次要版本號是必選的;
2.內部版本號和修訂號是可選的,但是如果定義了修訂號部分,則內部版本號就是必選的。
3.所有定義的組件都必須是大于或等于零的整數(shù)。
更多關于版本號的信息,請訪問:http://msdn.microsoft.com/zh-cn/library/system.version.aspx
關于Windows的版本信息,可以訪問:Operating System Version
2、利用反射獲取當前正在運行的程序的版本信息
下面的代碼演示利用反射技術獲取當前正在運行的程序的版本信息。
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í)行結果如下圖所示:

代碼中利用Assembly類的GetExecutingAssembly()方法獲取包含當前正在執(zhí)行的代碼的程序集,再使用GetName()方法獲取程序集的名稱(使用AssemblyName 類的對象來表示),并通過訪問AssemblyName 的屬性Version得到程序集的版本信息。使用Assembly 類需要添加引用“using System.Reflection;”。
3 利用C#判斷當前操作系統(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("當前系統(tǒng)是WIN8及以上版本系統(tǒng)。");
}
else
{
Console.WriteLine("當前系統(tǒng)不是WIN8及以上版本系統(tǒng)。");
}
}
}
}
運行程序

因為本機為WIN7系統(tǒng),所以程序運行結果為“當前系統(tǒng)不是WIN8及以上系統(tǒng)”。
此方法在判斷系統(tǒng)是否是高于或低于某個版本的系統(tǒng)時適用,若要準確判斷當前系統(tǒng)是什么類型可以參考《C#判斷操作系統(tǒng)類型總結》的介紹。
好了,就到這里。
相關文章
WPF使用DrawingContext實現(xiàn)二維繪圖
這篇文章介紹了WPF使用DrawingContext實現(xiàn)二維繪圖的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06
C# Csv實現(xiàn)基本的讀寫和轉換DataTable
本文主要介紹了C# Csv實現(xiàn)基本的讀寫和轉換DataTable,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02

