2011-03-12 41 views
4

我正在使用以下代码来获取我的计算机上每个驱动器的字母列表。我想从此列表中获取CD驱动器的驱动器号。我如何检查它?在VB.NET中获取CD驱动器号

我用来获取列表的代码如下:

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 
+0

因此,您所展示的代码可用于枚举所有驱动器号,并且您问如何确定哪一个是CD-ROM驱动器?如果计算机有多个CD驱动器(如CD-RW和DVD),您打算如何处理? – 2011-03-12 07:18:50

+0

是的,先生,这是问题。也许它可以把所有这些dirves的信件放入一个listbox ??????但如何确定类型? – 2011-03-12 07:22:37

回答

4

测试,并返回我的电脑上正确的结果:

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。

+0

Hrmm,看起来像我* *想念它。好答案。 – 2011-03-12 07:47:23

+0

伟大的答案!工作正常。谢谢 – 2011-03-12 10:02:12

1
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