class HardDrive { private string model = null; private string type = null; private string serialNo = null; public string Model { get { return model; } set { model = value; } } public string Type { get { return type; } set { type = value; } } public string SerialNo { get { return serialNo; } set { serialNo = value; } } }
public string GetComputerId() { List<HardDrive> list = new List<HardDrive>(); ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); foreach (ManagementObject wmi_HD in searcher.Get()) { try { HardDrive hd = new HardDrive(); hd.Model = wmi_HD["Model"].ToString(); hd.Type = wmi_HD["InterfaceType"].ToString(); if (hd.Type.ToLowerInvariant().Contains("usb")) { continue; } if (wmi_HD["SerialNumber"] != null) { hd.SerialNo = wmi_HD["SerialNumber"].ToString(); } list.Add(hd); } catch { } } searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia"); foreach (ManagementObject wmi_HD in searcher.Get()) { try { HardDrive hd = new HardDrive(); // get the hardware serial no. if (wmi_HD["SerialNumber"] == null || string.IsNullOrEmpty(wmi_HD["SerialNumber"].ToString())) { continue; } else hd.SerialNo = wmi_HD["SerialNumber"].ToString(); } catch { } } ManagementClass mc = new ManagementClass("Win32_BaseBoard"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { try { HardDrive hd = new HardDrive(); hd.SerialNo = mo.Properties["SerialNumber"].Value.ToString(); list.Add(hd); } catch { } } if (list.Count > 0) { string str = null; foreach (var value in list) { str = str + value.SerialNo; } if (string.IsNullOrEmpty(str)) { return string.Empty; } try { byte[] bytes = Encoding.Default.GetBytes(str); return Convert.ToBase64String(bytes); } catch { return string.Empty; } } return string.Empty; }
如何获得硬盘序列号,以及主板的序列号 C#
最新推荐文章于 2021-09-04 11:38:03 发布