Question:
How can I find the CD-Rom drive letter(s) from Visual Basic 5.0?
Answer:
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 SubUnfortunately, the Win16 GetDriveType doesn’t offer this capability, and determining availability of a CDROM in that environment requires invoking DOS interrupts.