HasWindows8() public static method

Determines if the User Agent String indicates Windows 8
public static HasWindows8 ( String userAgent ) : bool
userAgent String A User Agent String
return bool
        public void CheckWindows8Detection()
        {
            var userAgent = "Windows NT 6.2";

            Assert.IsTrue(Helpers.HasWindows8(userAgent), "Windows 8");
            userAgent = "Windows NT 6.3";

            Assert.IsTrue(Helpers.HasWindows8(userAgent), "Windows 8.1");
        }
        public void CheckWindows10Detection()
        {
            // User agent from Edge (Windows 10 build 10074)
            var userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0";

            Assert.IsTrue(Helpers.HasWindows10(userAgent), "Windows 10 detection failed");

            // User agent from IE11 (Windows 10 build 10074)
            userAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MALCJS; rv:11.0) like Gecko";

            Assert.IsTrue(Helpers.HasWindows10(userAgent), "Windows 10 detection failed");
            Assert.IsFalse(Helpers.HasWindows8(userAgent), "Windows 8 incorrectly detected");
        }
示例#3
0
    /// <summary>
    /// Gets a message for the Windows 8 OS.
    /// </summary>
    /// <param name="userAgent">The user agent.</param>
    /// <param name="userMessage">The user message.</param>
    /// <returns>True if the user agent has </returns>
    private static bool GetWindows8Or10Message(string userAgent, ref string userMessage)
    {
        bool hasWindows10 = Helpers.HasWindows10(userAgent);

        if (Helpers.HasWindows8(userAgent) || hasWindows10)
        {
            var version = hasWindows10 ? "4.6" : "4.5";
            userMessage += string.Format(Constants.InferredText, version);
            return(true);
        }

        return(false);
    }
示例#4
0
    private static bool GetWindows8Message(string UserAgent, ref string userMessage)
    {
        if (Helpers.HasWindows8(UserAgent) || Helpers.Has45(UserAgent))
        {
            var version = "4.5";

            if (UserAgent == "4.5.1" || UserAgent == "4.5.2")
            {
                version = UserAgent;
            }

            userMessage += String.Format(Constants.EarlyAdopter, "full install of .NET " + version);
            return(true);
        }

        return(false);
    }
示例#5
0
        public Dictionary <string, CLRVersion> GetInstalledVersions()
        {
            var results = new Dictionary <string, CLRVersion>();

            var foundVersions = UserAgent.Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries).Where(s => s.Contains(".NET"));


            foreach (string match in foundVersions)
            {
                var v = match.Trim();
                //this really sucks and makes me mad
                if (v.Contains(Constants.Version35Full) && !v.Contains(Constants.Version35SP1Client) && !v.Contains(Constants.Version35SP1Full))
                {
                    v = Constants.Version35Full;
                }
                if (v.Contains(Constants.Version30Full))
                {
                    v = Constants.Version30Full;
                }
                if (v.Contains(Constants.Version20Full))
                {
                    v = Constants.Version20Full;
                }
                if (v.Contains(Constants.Version11Full))
                {
                    v = Constants.Version11Full;
                }
                if (v.Contains(Constants.Version10Full))
                {
                    v = Constants.Version10Full;
                }
                if (Versions.ContainsKey(v))
                {
                    var version = Versions[v];
                    results.Add(v, version);
                }
            }

            if (Helpers.HasWindows8(UserAgent))
            {
                results.Add(Constants.Version45Full, Versions[Constants.Version45Full]);
            }

            return(results);
        }