この機能をC#で使用すると、ドライブ文字を取得できますが、USBスティックを取り外してこの機能をテストすると、例外にはなりません。CドライブのUSBドライブの取り外しコード
誰かが機能コードでどこが間違っているのか教えてくれますか?
public void GetDriveLetter()
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_DiskDrive where InterfaceType='USB'");
foreach (ManagementObject queryObj in searcher.Get())
{
foreach (ManagementObject b in queryObj.GetRelated("Win32_DiskPartition"))
{
foreach (ManagementBaseObject c in b.GetRelated("Win32_LogicalDisk"))
{
// writer.WriteLine("{0}" + "\\", c["Name"].ToString()); // here it will print drive letter
usbDriveLetter = String.Format("{0}" + "\\", c["Name"].ToString());
}
}
}
}
catch (ManagementException e)
{
MessageBox.Show(e.StackTrace);
}
//CombinedPath = System.IO.Path.Combine(usbDriveLetter.Trim(), path2.Trim());
}
Hii Jethro ,,私は上記のコードを試したが、まだそれはスローされません例外、usbが配置されていません。 – krikk
@krikk、私の更新答えをご覧ください。 – Jethro
多くのおかげでボス、それは私の間違いだった、didntは適切なループに入れて – krikk