Получение буквы компакт-диска в VB.NET - PullRequest
4 голосов
/ 12 марта 2011

Я использую следующий код, чтобы получить список букв для каждого диска на моем компьютере.Я хочу получить букву дисковода из этого списка.Как это проверить?

Код, который я использую для получения списка, выглядит следующим образом:

В событии Form.Load:

    cmbDrives.DropDownStyle = ComboBoxStyle.DropDownList
    Dim sDrive As String, sDrives() As String

    sDrives = ListAllDrives()

    For Each sDrive In sDrives

    Next
    cmbDrives.Items.AddRange(ListAllDrives())

.,.

Public Function ListAllDrives() As String()
    Dim arDrives() As String
    arDrives = IO.Directory.GetLogicalDrives()
    Return arDrives
End Function

Ответы [ 2 ]

4 голосов
/ 12 марта 2011

Протестировано и возвращает правильные результаты на моем компьютере:

Dim cdDrives = From d In IO.DriveInfo.GetDrives() _
                Where d.DriveType = IO.DriveType.CDRom _
                Select d

For Each drive In cdDrives
    Console.WriteLine(drive.Name)
Next

Предполагается, конечно, 3.5, поскольку он использует LINQ. Чтобы заполнить список, измените Console.WriteLine на ListBox.Items.Add.

1 голос
/ 30 июля 2011
For Each drive In DriveInfo.GetDrives()

   If drive.DriveType = DriveType.CDRom Then
       MessageBox.Show(drive.ToString())
   Else 
       MessageBox.Show("Not the cd or dvd rom" & " " & drive.ToString())
   End If

Next
...