QB64 program to find drives on computer
Posted: Sat Jul 20, 2013 11:07 am
QB64 program to find drives:
WIKI list of Windows API programs
Code: Select all
CONST REMOVABLE = 2
CONST FIXED = 3
CONST REMOTE = 4
CONST CDROM = 5
CONST RAMDISK = 6
DECLARE LIBRARY
FUNCTION GetDriveTypeA& (nDrive AS STRING)
FUNCTION GetLogicalDriveStringsA (BYVAL nBuff AS LONG, lpbuff AS STRING)
END DECLARE
DIM DList AS STRING, DL AS STRING
DIM i AS LONG, typ AS LONG
i = GetLogicalDriveStringsA(0, DList) 'zero returns the drive string byte size
DList = SPACE$(i) 'set drive string length. Each drive is followed by CHR$(0)
i = GetLogicalDriveStringsA(i, DList) 'the byte size returns a string that long
PRINT DList
FOR n = 65 TO 90
IF INSTR(DList, CHR$(n)) THEN
DL = CHR$(n) + ":\" + CHR$(0)
typ = GetDriveTypeA(DL)
SELECT CASE typ
CASE REMOVABLE: PRINT DL + "Removable"
CASE FIXED: PRINT DL + "Fixed"
CASE REMOTE: PRINT DL + "Remote"
CASE CDROM: PRINT DL + "CDROM"
CASE RAMDISK: PRINT DL + "RAM"
END SELECT
END IF
NEXT