//查询系统所在硬盘的索引
ManagementObjectSearcher mo = new ManagementObjectSearcher("SELECT DiskIndex FROM Win32_DiskPartition WHERE Bootable = TRUE");
foreach (var item in mo.Get())
{
string diskindex = item["DiskIndex"].ToString();
MessageBox.Show(item["DiskIndex"].ToString());
try
{
//根据硬盘索引查询硬盘序列号,XP查询“Win32_PhysicalMedia”,vista以后查询“Win32_DiskDrive”
ManagementObjectSearcher ms = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_DiskDrive WHERE Index ="+"'"+diskindex+"'");
foreach (var m in ms.Get())
{
MessageBox.Show(m["SerialNumber"].ToString());
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//查询D盘卷标号
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"d:\"");
disk.Get();
MessageBox.Show(disk.GetPropertyValue("VolumeSerialNumber").ToString());