我想使用C#检索硬盘的磁盘ID 。
我不想" SerialNumber"因为大多数文章都在谈论,因为它不在我的盒子里。
要检查此 ID ,您可以运行" cmd"在Windows上:
diskpart
list disk
select disk 0
detail disk
输出如下:
HGST HTS725050A7E630
Disk ID: 1033D54D
...
在我的虚拟盒子上输出
VBOX HARDDISK
Disk ID: 22452244
磁盘ID似乎是32位整数。
无论如何使用C#获取相同的东西(使用API而不是解析cmd输出)?
答案 0 :(得分:2)
此值存储为'签名'。你得到的是与序列号相同的地方。
ManagementObjectSearcher win32DiskDrives = new ManagementObjectSearcher("select * from Win32_DiskDrive");
foreach (ManagementObject win32DiskDrive in win32DiskDrives.Get())
{
Console.WriteLine("{0:X}", win32DiskDrive.Properties["Signature"].Value);
}
答案 1 :(得分:1)
您可以使用WMI和Win32_DiskDrive类。有DeviceID
和SerialNumber
属性,您可能需要检查它是否包含您要查找的值。