0

My PC has 3 drives C, D, E...when I insert the removable CD drive it should detect that the drive is the F:...
it may vary for different systems...how can I find which will can be the CD drive...

I had written the following code

Try
    For Each drive In DriveInfo.GetDrives()
        If drive.DriveType = DriveType.CDRom Then
           MessageBox.Show(drive.ToString())
           CD_Targetpath = drive.ToString
        Else
           MessageBox.Show("CD drive does not exist")
           Exit Sub
        End If
    Next
Catch ex As Exception
      MsgBox(ex.Message)
End Try

But as soon as it detects any other drive it exits from the sub

Edited by poojavb

2
Contributors
1
Reply
3
Views
4 Years
Discussion Span
Last Post by nmaillet
0

You're calling Exit Sub in each iteration when the current item isn't a CD-Rom. You can use a boolean variable instead:

Dim failed As Boolean
failed = True
For Each drive In DriveInfo.GetDrives()
    If drive.DriveType = DriveType.CDRom Then
       MessageBox.Show(drive.ToString())
       CD_Targetpath = drive.ToString
       failed = False
    End If
Next
If failed Then
   MessageBox.Show("CD drive does not exist")
   Exit Sub
End If

Now you'll still have to work on what happens when multiple CD-Rom drives exist.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.