机子挂了多块硬盘,如何得到如DG类似的硬盘分支结构即根据硬盘系列号得分每块硬盘的全部分区.现在可以得到分区,也可以得到硬盘系列号,但都是分开得的
我想得到硬盘系列号与分区对应关系,有没有同学做过得到系列号 public static List<string> GetHardDiskSerialNumber()
{
List<string> re = new List<string>();
string hardDiskID = null;
ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc1 = cimobject1.GetInstances();
foreach (ManagementObject mo in moc1)
{
if (hardDiskID == null)
{
hardDiskID = mo.Properties["Model"].Value.ToString();
}
else
{
hardDiskID = mo.Properties["Model"].Value.ToString();
}
re.Add(hardDiskID);
}
return re;
}
得到分区 System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
foreach (System.IO.DriveInfo di in drives)
{
Console.WriteLine(di.Name+" "+di.VolumeLabel);
}
我想得到硬盘系列号与分区对应关系,有没有同学做过得到系列号 public static List<string> GetHardDiskSerialNumber()
{
List<string> re = new List<string>();
string hardDiskID = null;
ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc1 = cimobject1.GetInstances();
foreach (ManagementObject mo in moc1)
{
if (hardDiskID == null)
{
hardDiskID = mo.Properties["Model"].Value.ToString();
}
else
{
hardDiskID = mo.Properties["Model"].Value.ToString();
}
re.Add(hardDiskID);
}
return re;
}
得到分区 System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
foreach (System.IO.DriveInfo di in drives)
{
Console.WriteLine(di.Name+" "+di.VolumeLabel);
}
真正的系列号在AIDA64软件中看到,找了半天也没有找到这样的类实现过,微软官方的也看了不少...
提供的程序 Hardware ID Extractor.exe我在window 7下可以运行,但在window 10不行,提示
The program needs to access the disk at low level but in some conditions Windows 7 UAC may block the program from doing so. Please temporary elevate program's rights.
我以管理员身份运行也没有获取,在VS下使用示例
[DllImport("HardwareIDExtractorC.dll")]
public static extern String GetIDESerialNumber(byte DriveNumber);无法正常得到,但至少让我看到了希望,能正确得到SN