如果格式化,我不在乎它是否可更改或重置。我想获得一个唯一的标识符,告诉我我正在使用哪个闪存驱动器。我发现的大多数在线示例都与安全性有关。我不是。我关心用户的便利性。
我找到了这个代码,用于从驱动器获取序列号以及仅过滤闪存驱动器:
var theSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive WHERE InterfaceType='USB'");
foreach (var currentObject in theSearcher.Get())
{
Console.WriteLine($"{currentObject["Caption"]} | DeviceID = \t{currentObject["SerialNumber"]}");
foreach (var property in currentObject.Properties)
{
Console.WriteLine($"\t{property.Name}\t{property.Value}");
}
}
这很有效。然而,我无法找到" SerialNumber"价值足够独特。也就是说,如果用户使用两个相同的闪存驱动器,我是否会为" SerialNumber"获得相同的值?
如果没有,我可以在代码中访问一个唯一值吗?