Как найти истинную букву диска CD-Rom, если также установлен виртуальный привод?
Я пытаюсь определить CD-ROM в приложении, я использую
ComboBox cb = new ComboBox();
var drives = DriveInfo.GetDrives();
foreach (var drive in drives)
{
if (drive.DriveType == DriveType.CDRom)
{
cboDrives.Items.Add(drive);
}
}
Он подхватывает D:\ и E: \
D:\ - это настоящий CD-ROM на моем рабочем ПК, E:\ - это виртуальный привод через Alcohol 120%
Я создаю приложение для чтения оптических носителей в ISO, а затем монтирую этот ISO в Alcohol, чтобы проверить, в порядке ли ISO.
Я хочу, чтобы пользователям было проще, при создании ISO они должны выбирать только один диск и один и тот же для тестирования ISO.
Я мог бы попытаться отфильтровать букву диска D:\, когда часть моего приложения, которая тестирует ISO-образы, запущена, но не на всех компьютерах есть D:\ в качестве дисковода компакт-дисков, например, в моем окне Win8.1 он имеет вид J:.. и с двумя виртуальными CD-приводами (Алкоголь и Виртуальный дисковод клонов) G:\ и N:.
Есть ли способ подобрать настоящую букву дисковода CD, а затем и виртуальную?
Обновление Интересно, что я обнаружил, что, проверяя, готов ли накопитель, можно извлечь только привод компакт-диска, поскольку он содержит носители, а виртуальный - нет. После того, как медиа подключено, оно поднято, и я думаю, что могу что-то сделать с этим и / или с ответом на двойной вопрос.
ComboBox cb = new ComboBox();
var drives = DriveInfo.GetDrives();
foreach (var drive in drives)
{
if (drive.IsReady == true)
{
if (drive.DriveType == DriveType.CDRom)
{
cboDrives.Items.Add(drive);
}
}
}