2010-09-14 71 views
2

下面這段代碼Vista和Win7的 上問題有關System.OperatingSystem

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      OperatingSystem os = Environment.OSVersion; 
      Console.WriteLine(os.Version.Major.ToString()); 
      Console.ReadLine(); 
     } 
    } 
} 

輸出我怎麼能知道我的代碼是在Win7的運行或預Win7的 這是使用。 NET框架2.0

回答

3

看看Version.Minor屬性。它爲Windows 7

爲0,Vista中,1換句話說,你的代碼可能是:

 OperatingSystem os = Environment.OSVersion; 
     string version; 
     if (os.Version.Major < 6) 
      version = "Older Windows"; 
     else if (os.Version.Major == 6) 
     { 
      if (os.Version.Minor == 0) 
       version = "Vista"; 
      if (os.Version.Minor == 1) 
       version = "Windows 7" 
     } 
3

檢查次要版本。 6.0是Vista,6.1是Windows7。

檢查this有關檢測操作系統版本的出色文章,並閱讀了有關區分服務器與工作站的討論。

+0

感謝您鏈接到我的博客。我很高興這很有幫助。這篇文章還有一個「第2部分」,其中稍微更復雜的代碼能夠分辨客戶端和服務器操作系統之間的差異,甚至是Windows 7,Vista和XP(家庭版,專業版等)中的不同版本。鏈接:http://andrewensley.com/2009/10/c-detect-windows-os-version-%E2%80%93-part-2-wmi/ – 2010-09-15 03:58:21