static Computer() { CpuName = GetCpuName(); IpAddress = GetIp(); MacAddress = GetMacAddress(); TotalPhysicalMemory = GetTotalPhysicalMemory(); DisplayCard = GetDisplayCard(); CsdVersion = GetCsdVersion(); OsBit = GetOsBit(); Resolution = GetVideoModeDescription(); SystemAccountLevel = GetSystemAccountLevel(); LanguageName = GetLanguage(); ComputerName = SysHelper.ComputerName; OsProductName = $"{SysHelper.OsProductName} {CsdVersion}"; #region 检测防火墙 //在xp中无法检测 if (!OsProductName.ToLower().Contains("xp")) { NetFwDomain = "0"; NetFwPublic = "0"; NetFwPrivate = "0"; } #endregion #region IsAdmin //var identity = WindowsIdentity.GetCurrent(); //var principal = new WindowsPrincipal(identity); //AdminFlag = principal.IsInRole(WindowsBuiltInRole.Administrator) ? "1" : "0"; AdminFlag = GetAdminFlag(); #endregion }
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); //产品名称 var Name = (from x in new ManagementObjectSearcher("root\\CIMV2", "SELECT Name FROM SoftwareLicensingProduct WHERE PartialProductKey <> null AND ApplicationId='55c92734-d682-4d71-983e-d6ec3f16059f'").Get().Cast <ManagementObject>() select x.GetPropertyValue("Name")).FirstOrDefault(); string[] nameArray = Name.ToString().Split(' '); OsProductName = nameArray[1]; //版本号 string ver = register.ReadRegeditKey("BuildLabEx").ToString(); string[] verArray = ver.Split('.'); OsBuild = verArray[0] + "." + verArray[1]; //描述 var Description = (from x in new ManagementObjectSearcher("root\\CIMV2", "SELECT Description FROM SoftwareLicensingProduct WHERE PartialProductKey <> null AND ApplicationId='55c92734-d682-4d71-983e-d6ec3f16059f'").Get().Cast <ManagementObject>() select x.GetPropertyValue("Description")).FirstOrDefault(); string[] desArray = Description.ToString().Split(' '); OsDescription = desArray[3]; //许可状态 var LicenseStatus = (from x in new ManagementObjectSearcher("root\\CIMV2", "SELECT LicenseStatus FROM SoftwareLicensingProduct WHERE PartialProductKey <> null AND ApplicationId='55c92734-d682-4d71-983e-d6ec3f16059f' AND LicenseIsAddon=False").Get().Cast <ManagementObject>() select x.GetPropertyValue("LicenseStatus")).FirstOrDefault(); switch (LicenseStatus.ToString()) { 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); sku_textBox.Text = SKU.ToString(); //将获取的值显示到listView1 //1.产品 listView1.Items[0].SubItems[1].Text = OsProductName + " [" + 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.ToString(); //4.激活ID var ID = (from x in new ManagementObjectSearcher("root\\CIMV2", "SELECT ID FROM SoftwareLicensingProduct WHERE PartialProductKey <> null AND ApplicationId='55c92734-d682-4d71-983e-d6ec3f16059f'").Get().Cast <ManagementObject>() select x.GetPropertyValue("ID")).FirstOrDefault(); listView1.Items[3].SubItems[1].Text = ID.ToString(); //5.部份密钥 var PartialProductKey = (from x in new ManagementObjectSearcher("root\\CIMV2", "SELECT PartialProductKey FROM SoftwareLicensingProduct WHERE PartialProductKey <> null AND ApplicationId='55c92734-d682-4d71-983e-d6ec3f16059f'").Get().Cast <ManagementObject>() select x.GetPropertyValue("PartialProductKey")).FirstOrDefault(); listView1.Items[4].SubItems[1].Text = PartialProductKey.ToString(); //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(OsProductName.ToString())) { if (OsProductName == "EnterpriseS" && OsBuild.Contains("10240")) { key_textBox.Text = "FWN7H-PF93Q-4GGP8-M8RF3-MDWWW"; } else if (OsProductName == "EnterpriseSN" && OsBuild.Contains("10240")) { key_textBox.Text = "8V8WN-3GXBH-2TCMG-XHRX3-9766K"; } else { key_textBox.Text = editionDic[OsProductName.ToString()]; } } else { key_textBox.Text = Language.Default.提示_无KEY; } } })); }