程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 利用C#判斷當前操作系統是否為Win8及其以上版本的系統

利用C#判斷當前操作系統是否為Win8及其以上版本的系統

編輯:C#入門知識

1 利用C#獲取OS的版本號

(1) 原理說明

Environment類的OSVersion屬性是一個OperatingSystem類型的對象,OperatingSystem類表示有關操作系統的信息,如版本和平台標識符。OperatingSystem類的Version屬性,描述了操作系統的主版本號、次版本號、內部版本號和修正版本號,所以可以使用Environment.OSVersion.Version來獲取操作系統的版本信息。

(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) 程序執行結果

\

(4) 補充說明<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjwvcD4KPHA+sOaxvrrF08m2/tbBy8S49rK/t9bX6bPJo7rW99KqsOaxvrrFoaK0ztKqsOaxvrrFoaLE2rK/sOaxvrrFus3Q3rapusWhozwvcD4KPHA+PC9wPgoK1vfSqrDmsb66xbrNtM7SqrDmsb66xcrHsdjRobXEo7vE2rK/sOaxvrrFus3Q3rapusXKx7/J0aG1xKOstavKx8jnufu2qNLlwcvQ3rapusWyv7fWo6zU8sTasr+w5rG+usW+zcrHsdjRobXEoaPL+dPQtqjS5bXE1+m8/ra8sdjQ68rHtPPT2rvytcjT2sHjtcTV+8r9oaMKPHA+PC9wPgo8cD64/LbgudjT2rDmsb66xbXE0MXPoqOsx+u3w87Ko7podHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL3poLWNuL2xpYnJhcnkvc3lzdGVtLnZlcnNpb24uYXNweDwvcD4KPHA+udjT2ldpbmRvd3O1xLDmsb7Qxc+io6y/ydLUt8POyqO6T3BlcmF0aW5nIFN5c3RlbSBWZXJzaW9uPC9wPgo8cD4gPC9wPgo8cD4yIMD708O3tMnku/HIobWxx7DV/dTa1MvQ0LXEs8zQ8rXEsOaxvtDFz6I8L3A+CjxwPs/Cw+a1xLT6wuvR3cq+wPvTw7e0yeS8vMr1u/HIobWxx7DV/dTa1MvQ0LXEs8zQ8rXEsOaxvtDFz6KhozwvcD4KPHA+PHByZSBjbGFzcz0="brush:java;">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()); } } }

執行結果如下圖所示:

\

代碼中利用Assembly類的GetExecutingAssembly()方法獲取包含當前正在執行的代碼的程序集,再使用GetName()方法獲取程序集的名稱(使用AssemblyName 類的對象來表示),並通過訪問AssemblyName 的屬性Version得到程序集的版本信息。使用Assembly 類需要添加引用“using System.Reflection;”。

3 利用C#判斷當前操作系統是否為Win8系統

直接上代碼

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及其以上版本的系統
                Console.WriteLine("當前系統是WIN8及以上版本系統。");
            }
            else
            {
                Console.WriteLine("當前系統不是WIN8及以上版本系統。");
            }
        }
    }
}

運行程序


因為本機為WIN7系統,所以程序運行結果為“當前系統不是WIN8及以上系統”。

此方法在判斷系統是否是高於或低於某個版本的系統時適用,若要准確判斷當前系統是什麼類型可以參考《C#判斷操作系統類型總結》的介紹。

好了,就到這裡。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved