Ejemplo n.º 1
0
        public static ITheme GetTheme(this OsName version)
        {
            switch (version)
            {
            case OsName.Windows10:
                return(new Windows10Theme());

            case OsName.Windows8:
                return(new Windows10Theme());    //lazy, not making an additional theme for win 8 at the moment

            default:
                return(new Windows7Theme());
            }
        }
Ejemplo n.º 2
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (OsName.Length != 0)
            {
                hash ^= OsName.GetHashCode();
            }
            if (FpgaModel.Length != 0)
            {
                hash ^= FpgaModel.GetHashCode();
            }
            if (Api.Length != 0)
            {
                hash ^= Api.GetHashCode();
            }
            if (OsVersion.Length != 0)
            {
                hash ^= OsVersion.GetHashCode();
            }
            return(hash);
        }
Ejemplo n.º 3
0
        public Task GetOSInfo()
        {
            return(Task.Run(() =>
            {
                //网络是否连接
                int i = 0;
                if (InternetGetConnectedState(out i, 0))
                {
                    this.Text = "      " + Language.Default.main_窗口名_在线 + " " + soft_ver;
                }
                else
                {
                    this.Text = "      " + Language.Default.main_窗口名_离线 + " " + soft_ver;
                }

                Register register = new Register(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", Register.RegDomain.LocalMachine);

                ManagementScope scope = new ManagementScope(@"\\" + System.Environment.MachineName + @"\root\cimv2");
                scope.Connect();
                SelectQuery searchQuery = new SelectQuery("SELECT * FROM SoftwareLicensingProduct WHERE PartialProductKey <> null AND ApplicationID = '55c92734-d682-4d71-983e-d6ec3f16059f'");
                ManagementObjectSearcher searcherObj = new ManagementObjectSearcher(scope, searchQuery);
                foreach (ManagementBaseObject mo in searcherObj.Get())
                {
                    string[] nameArray = mo["Name"].ToString().Split(' ');
                    OsName = nameArray[1];                                    //产品名称
                    string[] desArray = mo["Description"].ToString().Split(' ');
                    OsDescription = desArray[3];                              //描述
                    OsID = mo["ID"].ToString();                               //激活ID
                    OsPartialProductKey = mo["PartialProductKey"].ToString(); //部份产品密钥
                    OsLicenseStatus = mo["LicenseStatus"].ToString();         //许可状态
                }

                //版本号
                string ver = register.ReadRegeditKey("BuildLabEx").ToString();
                string[] verArray = ver.Split('.');
                OsBuild = verArray[0] + "." + verArray[1];

                //许可状态
                switch (OsLicenseStatus)
                {
                case "0":
                    {
                        ProductStatus = Language.Default.info_未授权;
                        break;
                    }

                case "1":
                    {
                        ProductStatus = Language.Default.info_已授权;
                        break;
                    }

                case "2":
                    {
                        ProductStatus = Language.Default.info_初始宽限期;
                        break;
                    }

                case "3":
                    {
                        ProductStatus = Language.Default.info_延长宽限期;
                        break;
                    }

                case "4":
                    {
                        ProductStatus = Language.Default.info_非正版宽限期;
                        break;
                    }

                case "5":
                    {
                        ProductStatus = Language.Default.info_通知状态;
                        break;
                    }

                default:
                    {
                        ProductStatus = Language.Default.info_未知;
                        break;
                    }
                }

                //SKU值
                int SKU;
                GetProductInfo(
                    Environment.OSVersion.Version.Major,
                    Environment.OSVersion.Version.Minor,
                    0,
                    0,
                    out SKU);
                if (OsName == "ProfessionalEducation")
                {
                    sku_textBox.Text = "164";
                }
                else if (OsName == "ProfessionalEducationN")
                {
                    sku_textBox.Text = "165";
                }
                else
                {
                    sku_textBox.Text = SKU.ToString();
                }

                //将获取的值显示到listView1
                //1.产品
                listView1.Items[0].SubItems[1].Text = OsName + " [" + OsBuild + "]";
                //2.类型
                if (Environment.Is64BitOperatingSystem)
                {
                    listView1.Items[1].SubItems[1].Text = "x64";
                }
                else
                {
                    listView1.Items[1].SubItems[1].Text = "x86";
                }
                //3.描述
                listView1.Items[2].SubItems[1].Text = OsDescription;
                //4.激活ID
                listView1.Items[3].SubItems[1].Text = OsID;
                //5.部份密钥
                listView1.Items[4].SubItems[1].Text = OsPartialProductKey;
                //6.许可状态
                listView1.Items[5].SubItems[1].Text = ProductStatus;
                //7.WindowsUpdate状态
                register.SubKey = @"SYSTEM\CurrentControlSet\Services\wuauserv";
                string WU = register.ReadRegeditKey("Start").ToString();
                switch (WU)
                {
                case "1":
                    {
                        WUStatus = Language.Default.info_WU_自动延迟;
                        break;
                    }

                case "2":
                    {
                        WUStatus = Language.Default.info_WU_自动;
                        break;
                    }

                case "3":
                    {
                        WUStatus = Language.Default.info_WU_手动;
                        break;
                    }

                case "4":
                    {
                        WUStatus = Language.Default.info_WU_禁用;
                        break;
                    }
                }
                listView1.Items[6].SubItems[1].Text = WUStatus;

                //如果KEY文本框为空,显示内置KEY
                if (key_textBox.Text == "")
                {
                    if (editionDic.ContainsKey(OsName.ToString()))
                    {
                        if (OsName == "EnterpriseS" && OsBuild.Contains("10240"))
                        {
                            key_textBox.Text = "FWN7H-PF93Q-4GGP8-M8RF3-MDWWW";
                        }
                        else if (OsName == "EnterpriseSN" && OsBuild.Contains("10240"))
                        {
                            key_textBox.Text = "8V8WN-3GXBH-2TCMG-XHRX3-9766K";
                        }
                        else
                        {
                            key_textBox.Text = editionDic[OsName.ToString()];
                        }
                    }
                    else
                    {
                        key_textBox.Text = Language.Default.提示_无KEY;
                    }
                }
            }));
        }