[英]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.