' Kev Peel ' #INCLUDE "win32api.inc" '-------------------------------------------------------------- ' Display available drive letters and each drive type '-------------------------------------------------------------- FUNCTION PBMAIN LOCAL n AS LONG, buffer AS STRING, zDrive AS ASCIIZ * 32, sOutput AS STRING ' Obtain a list of drives from the system... buffer = STRING$(2048, $NUL) buffer = LEFT$(buffer, GetLogicalDriveStrings(LEN(buffer), BYVAL STRPTR(buffer))) ' Build a list of drives + types... FOR n = 1 TO PARSECOUNT(buffer, $NUL)-1 zDrive = PARSE$(buffer, $NUL, n) SELECT CASE GetDriveType(zDrive) CASE %DRIVE_FIXED: sOutput = sOutput + zDrive + $TAB + $TAB + "Fixed" + $CRLF CASE %DRIVE_REMOTE: sOutput = sOutput + zDrive + $TAB + $TAB + "Remote" + $CRLF CASE %DRIVE_REMOVABLE: sOutput = sOutput + zDrive + $TAB + $TAB + "Removable" + $CRLF CASE %DRIVE_CDROM: sOutput = sOutput + zDrive + $TAB + $TAB + "CD-ROM" + $CRLF CASE %DRIVE_RAMDISK: sOutput = sOutput + zDrive + $TAB + $TAB + "RAMDISK" + $CRLF CASE ELSE: sOutput = sOutput + zDrive + $TAB + $TAB + "Unknown Type" + $CRLF END SELECT NEXT n ' Display the information... MSGBOX sOutput, %MB_ICONINFORMATION, "Available Drives" END FUNCTION