c#提取本机的硬盘序列号

为什么我在win7系统上可以提取到硬盘序列号,但在server2003的电脑上不可以呢?
2026年09月19日 18:54
有2个网友回答
网友(1):

public static List GetHDIds()
{
List hdIds = new List();
try
{
//ManagementClass cimobject = new ManagementClass("Win32_DiskDrive");
ManagementClass cimobject = new ManagementClass("Win32_PhysicalMedia");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach (ManagementObject mo in moc)
{
//String HDid = (string)mo.Properties["Model"].Value.ToString();//获取的是硬盘名称
String HDid = (string)mo.Properties["SerialNumber"].Value.ToString();
if (!string.IsNullOrEmpty(HDid))
{
hdIds.Add(HDid);
}
}
return hdIds;
}
catch (Exception r)
{
hdIds.Add("无法获得硬盘信息!");
MessageBox.Show("硬盘错误信息:" + r.Message);
return hdIds;
}
}

网友(2):

你用的是什么代码获取的