谢谢楼上兄弟,现在遇到一个问题:
如果插入普通的USB,能够得到U盘的盘符,但如果插入MP3,则得不到.
下面是关键代码:
private string GetUSBVol()
{
string ret = string.Empty;
try
{
// browse all USB WMI physical disks
ManagementObjectSearcher searcher = new
ManagementObjectSearcher("select * from Win32_DiskDrive where InterfaceType='USB'");
foreach(ManagementObject drive in searcher.Get())
{
// associate physical disks with partitions
foreach(ManagementObject partition in new ManagementObjectSearcher(
"ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" + drive["DeviceID"]
+ "'} WHERE AssocClass = Win32_DiskDriveToDiskPartition").Get())
{
// associate partitions with logical disks (drive letter volumes)
foreach(ManagementObject disk in new ManagementObjectSearcher(
"ASSOCIATORS OF {Win32_DiskPartition.DeviceID='"
+ partition["DeviceID"]
+ "'} WHERE AssocClass = Win32_LogicalDiskToPartition").Get())
{
string vol = disk["Name"].ToString();
DialogResult r = MessageBox.Show(this,"Are you sure " + vol.ToUpper() + " is volumn of USB device?", Global.CON_TITLE_QUESTION,
MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if(r == DialogResult.Yes)
{
ret = vol;
return ret;
}
}
}
}
}
catch(Exception ex)
{
LoggerService.logger.Error("Getting volumn of USB device fail!", ex);
}
return ret;
}