Как добавить букву диска в поле со списком на основе идентификатора устройства SCSI

На основании моего запроса Как найти истинную букву дисковода CD-Rom, если также установлен виртуальный привод?

И предложение, которое я получил отсюда Как определить, является ли диск виртуальным или физическим

Я хотел бы просто заполнить поле со списком букв виртуального диска, когда строка DeviceID содержит SCSI, я протестировал оба моих виртуальных диска, и у них есть список SCSI против них.

Первые 4 символа в ответе из примера в предложенной ссылке

string driveLetter = "G";
        ManagementObjectSearcher diskQuery = new ManagementObjectSearcher(String.Format("SELECT * FROM Win32_CDROMDrive WHERE Drive='{0}:'", driveLetter));
        ManagementObject diskResult = diskQuery.Get().OfType<ManagementObject>().SingleOrDefault();
        string deviceID = null;
        if (diskResult != null)
            deviceID = (string)diskResult["DeviceID"];
        MessageBox.Show(deviceID);

Покажите SCSI, чтобы я думал, что смогу сделать что-то подобное

ManagementObjectSearcher diskQuery = new ManagementObjectSearcher(String.Format("select * from Win32_CDROMDrive Where DeviceID Like '%SCSI%'"));
        ManagementObject diskResult = diskQuery.Get().OfType<ManagementObject>().SingleOrDefault();
        string deviceID = null;
        if (diskResult != null)
            deviceID = (string)diskResult["DeviceID"];
        MessageBox.Show(deviceID);  

Однако это не работает, я просто получаю исключение недопустимой операции.

Что я пытаюсь сделать это

ComboBox cbVirtual = new ComboBox();
    var vdrives = DriveInfo.GetDrives();
    foreach (var drive in vdrives)
        if (drive.DriveType == DriveType.CDRom)
        {
            If the deviceID string contains SCSI
            {
                Fill the Combo box with the drive letter/s
            }
        }

Ценю некоторую помощь - ура.

1 ответ

Вам нужно

string driveLetter = "G";

ComboBox.ObjectCollection items = vdrives.Items;
Items.Add(driveLetter);

вот как вы добавляете объекты в поле со списком.

Другие вопросы по тегам