public static WindowsFamily GetWindowsVersionFromBuildNumber(int build) { WindowsFamily ret = WindowsFamily.Unknown; foreach (WindowsFamily ver in WinFamilyDefs) { if ((long)build >= (long)ver) { ret = ver; } } return(ret); }
static EnvFastOsInfo() { WinFamilyDefs = WindowsFamily.Unknown.GetEnumValuesList().OrderBy(x => (long)x).Distinct().ToArray(); OsInfo = Environment.OSVersion; IsWindows = (OsInfo.Platform == PlatformID.Win32NT); if (IsWindows) { int build = OsInfo.Version.Build; WindowsFamily = GetWindowsVersionFromBuildNumber(build); } }