private static string CreateRequestUrlAndDownloadJsonData()
        {
            string urlOriginal = RegistryManager.Instance.Host + "/bs4/getmultiinstancebuild?";

            try
            {
                string osName             = string.Empty;
                string str1               = "app_player";
                string str2               = "w" + SystemUtils.GetOSArchitecture().ToString();
                string userSelectedLocale = RegistryManager.Instance.UserSelectedLocale;
                SystemUtils.GetOSInfo(out osName, out string _, out string _);
                string urlOverideParams = "app_player_win_version=" + osName + "&source=" + str1 + "&app_player_os_arch=" + str2 + "&app_player_language=" + userSelectedLocale;
                urlOriginal = HTTPUtils.MergeQueryParams(urlOriginal, urlOverideParams, true);
            }
            catch (Exception ex)
            {
                Logger.Error("Failed to create url err: {0}", (object)ex.Message);
            }
            return(urlOriginal);
        }
예제 #2
0
        public static bool GetOSInfo(out string osName, out string servicePack, out string osArch)
        {
            osName      = "";
            servicePack = "";
            osArch      = "";
            OperatingSystem osVersion = Environment.OSVersion;

            System.Version version = osVersion.Version;
            if (osVersion.Platform == PlatformID.Win32Windows)
            {
                switch (version.Minor)
                {
                case 0:
                    osName = "95";
                    break;

                case 10:
                    int revision = version.Revision;
                    osName = !(revision.ToString((IFormatProvider)CultureInfo.InvariantCulture) == "2222A") ? "98" : "98SE";
                    break;

                case 90:
                    osName = "Me";
                    break;
                }
            }
            else if (osVersion.Platform == PlatformID.Win32NT)
            {
                switch (version.Major)
                {
                case 3:
                    osName = "NT 3.51";
                    break;

                case 4:
                    osName = "NT 4.0";
                    break;

                case 5:
                    osName = version.Minor != 0 ? "XP" : "2000";
                    break;

                case 6:
                    if (version.Minor == 0)
                    {
                        osName = "Vista";
                        break;
                    }
                    if (version.Minor == 1)
                    {
                        osName = "7";
                        break;
                    }
                    if (version.Minor == 2)
                    {
                        osName = "8";
                        break;
                    }
                    if (version.Minor == 3)
                    {
                        osName = "8.1";
                        break;
                    }
                    break;

                case 10:
                    osName = "10";
                    break;
                }
            }
            string str1 = osName;

            if (string.IsNullOrEmpty(str1))
            {
                return(false);
            }
            string str2 = "Windows " + str1;

            if (!string.IsNullOrEmpty(osVersion.ServicePack))
            {
                servicePack = osVersion.ServicePack.Substring(osVersion.ServicePack.LastIndexOf(' ') + 1);
                str2        = str2 + " " + osVersion.ServicePack;
            }
            osArch = SystemUtils.GetOSArchitecture().ToString((IFormatProvider)CultureInfo.InvariantCulture) + "-bit";
            Logger.Info("Operating system details: " + (str2 + " " + osArch));
            return(true);
        }