public static string GetHardWareId() { System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_PhysicalMedia"); //网上有提到,用Win32_DiskDrive,但是用Win32_DiskDrive获得的硬盘信息中并不包含SerialNumber属性。 Win32_PhysicalMedia System.Management.ManagementObjectCollection moc = mc.GetInstances(); if (moc.Count == 0) { mc = new System.Management.ManagementClass("Win32_DiskDrive"); //网上有提到,用Win32_DiskDrive,但是用Win32_DiskDrive获得的硬盘信息中并不包含SerialNumber属性。 Win32_PhysicalMedia moc = mc.GetInstances(); } string strID = ""; foreach (System.Management.ManagementObject mo in moc) { if (mo.Properties["SerialNumber"] != null && mo.Properties["SerialNumber"].Value != null) { strID += mo.Properties["SerialNumber"].Value.ToString(); } break; } return strID.Trim(); }