Article ID: 161300 - Last Review: July 13, 2004 - Revision: 3.2

How To Determine the Type of Drive Using Win32

This article was previously published under Q161300
Expand all | Collapse all

SUMMARY

There are many types of drives that Windows can detect and the Win32 API GetDriveType gives the Visual Basic programmer a simple way to differentiate between them. Below is a code sample showing how to use the API.

MORE INFORMATION

  1. Start a new Standard EXE project. Form1 is added by default.
  2. Add a DriveListBox to Form1.
  3. Add the code below to the General Declarations section of Form1:
          Option Explicit
    
          Private Declare Function GetDriveType Lib "kernel32" Alias _
            "GetDriveTypeA" (ByVal sDrive As String) As Long
    
          Private Function DriveType(sDrive As String) As String
            Dim sDriveName As String
            Const DRIVE_TYPE_UNDTERMINED = 0
            Const DRIVE_ROOT_NOT_EXIST = 1
            Const DRIVE_REMOVABLE = 2
            Const DRIVE_FIXED = 3
            Const DRIVE_REMOTE = 4
            Const DRIVE_CDROM = 5
            Const DRIVE_RAMDISK = 6
            sDriveName = GetDriveType(sDrive & ":\")
            Select Case sDriveName
              Case DRIVE_TYPE_UNDTERMINED
                DriveType = "has not been recognized"
              Case DRIVE_ROOT_NOT_EXIST
                DriveType = "specified doesn't exist"
              Case DRIVE_CDROM
                DriveType = "is a CD-ROM drive."
              Case DRIVE_FIXED
                DriveType = "cannot be removed I.E. Hard Disk"
              Case DRIVE_RAMDISK
                DriveType = "is a RAM disk."
              Case DRIVE_REMOTE
                DriveType = "is a remote I.E Network drive."
              Case DRIVE_REMOVABLE
                DriveType = "can be removed I.E. Floppy Disk."
            End Select
          End Function
    
          Private Sub Drive1_Change()
            MsgBox "The Drive Type " & DriveType(Left(Drive1.Drive, 1))
          End Sub
    						
  4. Press the F5 key to run the project, and select a drive from the Drive List box. A message box will be displayed showing what type of drive it is.

APPLIES TO
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
Keywords: 
kbhowto KB161300
 

Article Translations