簡體   English   中英

如何識別Windows操作系統版本?

[英]How to recognize Windows OS version?

我正在開發.NET 4 WPF應用程序,該應用程序應該能夠將數據導出到Excel xls工作表。 但是我需要在運行時確定它正在運行哪個版本,因為仍然有配備Windows XP和Office 97/2000的計算機。

我無法通過Windows XP,Office 97/2000上的應用程序導出xls,因為我們不擁有版本7、8或9的Office Interop庫。

因此,我將在Windows XP上導出為CSV,在Windows 7和Windows 10上導出為xls。

我嘗試了此代碼段,但不確定是否足以識別它是Win XP,7還是10。

 public static string getOSVersion()
 {
      return Environment.OSVersion.ToString() + ", " + Environment.Version;
 }

我在Windows 10上得到這個:

 Microsoft Windows NT 6.2.9200.0, 4.0.30319.42000

這是足夠的信息,還是有更好的方法來識別Windows OS名稱?

System.Environment.Version將檢索用於執行代碼的.NET Framework的版本,因此這對您沒有幫助。

實際上, System.Environment.OSVersion對象(OperatingSystem類)是獲取Windows版本的正確方法。 但是,您應該執行以下操作:

public static bool IsWindowsCurrentGen()
{
  if (Environment.OSVersion.Version.Major >= 6)
    return true;
  else
    return false;
}

對於Windows Vista以上的所有版本(包括Windows Vista),都將返回true

有關“完整”參考表,請參見此StackOverflow問題 請注意,從我的角度來看,最好檢測安裝的Excel版本而不是OS版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM