Enumerating CD Devices on Your System

This short code sample shows how to determine all the CDRom drives you have connected to your computer using the WinAPI.

Although this can now be done with the new FileSystemObject that comes with VB6 (and as an extra with VB5), this is how to get the drives through code when the target machine may not have the SSCRUN.DLL.


Screen-Shot

The code is quite simple and uses the GetDriveType and GetLogicalDriveStrings Windows API calls.


'
private Declare Function GetDriveType Lib "kernel32" _
        Alias "GetDriveTypeA" (byval nDrive as string) as Long
private Declare Function GetLogicalDriveStrings Lib "kernel32" _
        Alias "GetLogicalDriveStringsA" (byval nBufferLength as Long, _
        byval lpBuffer as string) as Long
private Const DRIVE_CDROM = 5
'
private Sub ListCDROMs()
    Dim sDrives as string
    Dim sDrive as string

    sDrives = Space(255)
    sDrives = Left$(sDrives, GetLogicalDriveStrings(255, byval sDrives))
    While InStr(sDrives, "\")
        sDrive = Left$(sDrives, InStr(sDrives, "\"))
        If GetDriveType(sDrive) = DRIVE_CDROM then
            List1.AddItem "(CDRom) " & sDrive
        End If
        sDrives = mid$(sDrives, len(sDrive) + 2)
    Wend
End Sub
'

Download Zipped Project File (3k)



Comments

  • More helpful for me

    Posted by Legacy on 07/25/2003 12:00am

    Originally posted by: Mohan

    Thanks lot to provide code. Your e-help is much appreciated.
    

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • On-demand Event Event Date: August 27, 2015 With the cloud enabling companies to spin up servers and stand up data stores more quickly, mobile apps can be created faster, reducing the time-to-value. But three major obstacles stand in the way for many organizations: The backlog of app project requests confronting every enterprise regardless of their internal app development capabilities Finding and employing better, faster tools to speed and simplify the process of developing those apps. The emergence of …

  • Lenovo recommends Windows 8 Pro. "I dropped my laptop getting out of the taxi." This probably sounds familiar to most IT professionals. If your employees are traveling, you know their devices are in for a rough go. Whether it's a trip to the conference room or a convention out of town, any time equipment leaves a user's desk it is at risk of being put into harm's way. Stay connected at all times, whether at the office or on the go, with agile, durable, and flexible devices like the Lenovo® …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date