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()); } }
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); }
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; } } })); }