Private List <string> _ serialNumber = new List <string> ();
/// <Summary>
/// Call this function to store the serial numbers of all USB disks on the local machine to _ serialNumber.
/// </Summary>
Private void matchDriveLetterWithSerial ()
{
String [] diskArray;
String driveNumber;
Var searcher = new ManagementObjectSearcher ("SELECT * FROM Win32_LogicalDiskToPartition ");
Foreach (ManagementObject dm in searcher. Get ())
{
GetValueInQuotes (dm ["Dependent"]. ToString ());
DiskArray = getValueInQuotes (dm ["Antecedent"]. ToString (). Split (,);
DriveNumber = diskArray [0]. Remove (0, 6). Trim ();
Var disks = new ManagementObjectSearcher ("SELECT * FROM Win32_DiskDrive ");
Foreach (ManagementObject disk in disks. Get ())
{
If (disk ["Name"]. toString () = ("\\. \ PHYSICALDRIVE "+ driveNumber) & disk [" InterfaceType "]. toString () = "USB ")
{
_ SerialNumber. Add (parseSerialFromDeviceID (disk ["PNPDeviceID"]. ToString ()));
}
}
}
}
Private static string parseSerialFromDeviceID (string deviceId)
{
Var splitDeviceId = deviceId. Split (\);
Var arrayLen = splitDeviceId. Length-1;
Var serialArray = splitDeviceId [arrayLen]. Split (&);
Var serial = serialArray [0];
Return serial;
}
Private static string