1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
private void GetPeriphUsb()
{
_lstDiskUsb.Clear();
foreach (ManagementObject drive in new ManagementObjectSearcher("select * from Win32_DiskDrive where InterfaceType='USB'").Get())
{
foreach (ManagementObject partition in new ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" + drive["DeviceID"] + "'} WHERE AssocClass =Win32_DiskDriveToDiskPartition").Get())
{
Console.WriteLine("Partition=" + partition["Name"]);
foreach (ManagementObject disk in new ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" + partition["DeviceID"] + "'} WHERE AssocClass =Win32_LogicalDiskToPartition").Get())
{
DriveInfo drvInf = new DriveInfo(disk["Name"] + "\\");
_lstDiskUsb.Add(drvInf.Name, drvInf);
}
}
}
} |