Пример #1
0
        /// <summary>
        /// Get version details based on a known Windows version.
        /// </summary>
        /// <param name="version">The known Windows version</param>
        public static WindowsVersion GetKnownVersion(KnownWindowsVersion version)
        {
            switch (version)
            {
            default:
            case KnownWindowsVersion.RTM:
            {
                return(new WindowsVersion()
                    {
                        Name = "RTM",
                        Build = VERSION_RTM,
                        Version = "1506",
                        ApiContractLevel = 1,
                    });
            }

            case KnownWindowsVersion.NovemberUpdate:
            {
                return(new WindowsVersion()
                    {
                        Name = "November Update",
                        Build = VERSION_NOVEMBER,
                        Version = "1511",
                        ApiContractLevel = 2,
                    });
            }

            case KnownWindowsVersion.AnniversaryUpdate:
            {
                return(new WindowsVersion()
                    {
                        Name = "Anniversary Update",
                        Build = VERSION_ANNIVERSARY,
                        Version = "1607",
                        ApiContractLevel = 3,
                    });
            }

            case KnownWindowsVersion.CreatorsUpdate:
            {
                return(new WindowsVersion()
                    {
                        Name = "Creators Update",
                        Build = VERSION_CREATORS,
                        Version = "1703",
                        ApiContractLevel = 4,
                    });
            }

            case KnownWindowsVersion.FallCreatosUpdate:
            {
                return(new WindowsVersion()
                    {
                        Name = "Fall Creators Update",
                        Build = VERSION_CREATORS,
                        Version = "1709",
                        ApiContractLevel = 5,
                    });
            }

            case KnownWindowsVersion.April2018Update:
            {
                return(new WindowsVersion()
                    {
                        Name = "April 2018 Update",
                        Build = VERSION_APRIL2018,
                        Version = "1803",
                        ApiContractLevel = 6,
                    });
            }

            case KnownWindowsVersion.October2018Update:
            {
                return(new WindowsVersion()
                    {
                        Name = "OCTOBER 2018 Update",
                        Build = VERSION_OCTOBER2018,
                        Version = "1809",
                        ApiContractLevel = 7,
                    });
            }

            case KnownWindowsVersion.May2019Update:
            {
                return(new WindowsVersion()
                    {
                        Name = "MAY 2019 Update",
                        Build = VERSION_MAY2019,
                        Version = "1903",
                        ApiContractLevel = 8,
                    });
            }
            }
        }
Пример #2
0
        /// <summary>
        /// Returns wether this version is bigger or equal than the known Windows version.
        /// </summary>
        /// <param name="knownVersion">The known Windows version</param>
        public bool IsCompatibleWith(KnownWindowsVersion knownVersion)
        {
            var compatibleVersion = GetKnownVersion(knownVersion);

            return(Build >= compatibleVersion.Build);
        }