HOWTO: Determine the Type of Drive Using Win32

ID: Q161300


The information in this article applies to:
  • Microsoft Visual Basic Learning, Professional, and Enterprise Editions for Windows, versions 5.0, 6.0
  • Microsoft Visual Basic Standard, Professional, and Enterprise Editions, 32-bit only, for Windows, version 4.0


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.


Additional query words: kbVBp500 kbVBp600 kbVBp kbdsd kbDSupport KBWIN32SDK KBAPI

Keywords : kbGrpVB
Version :
Platform : WINDOWS
Issue type : kbhowto


Last Reviewed: January 5, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.