CD-ROM Detection

CD-ROM Detection

How can I find the CD-Rom drive letter(s) from Visual Basic 5.0?

The simplest method is to call the Win32 GetDriveType API against drives C:-Z:.

Private Declare Function GetDriveType Lib “kernel32” Alias “GetDriveTypeA” (ByVal nDrive As String) As Long’ GetDriveType return valuesPrivate Const DRIVE_REMOVABLE = 2Private Const DRIVE_FIXED = 3Private Const DRIVE_REMOTE = 4Private Const DRIVE_CDROM = 5Private Const DRIVE_RAMDISK = 6Private Sub Form_Click()  Dim i As Integer  For i = Asc(“C”) To Asc(“Z”)    If GetDriveType(Chr(i) & “:”) = DRIVE_CDROM Then      Debug.Print “Drive ” & Chr(i) & “: is a CDROM.”    End If  Next iEnd Sub
Unfortunately, the Win16 GetDriveType doesn’t offer this capability, and determining availability of a CDROM in that environment requires invoking DOS interrupts.


Share the Post: