procedure TForm1.Button1Click(Sender: TObject);
var
Drives: TSysCharSet;
D: Char;
begin
writeln('Reported drives by Windows:');
Drives := GetAvailableDrives(False);
for D in Drives do writeln(D + ':\',' [',DiskInDrive(D),']');
writeln;
writeln('Actual mounted drives:');
Drives := GetAvailableDrives(True);
for D in Drives do writeln(D + ':\');
writeln;
writeln('Removable drives:');
Drives := GetAvailableDrives(False, [dtRemovable]);
for D in Drives do writeln(D + ':\');
writeln;
writeln('CD-Roms''s:');
Drives := GetAvailableDrives(False, [dtCDROM]);
for D in Drives do writeln(D + ':\');
writeln;
writeln('Actual mounted CD-Roms''s:');
Drives := GetAvailableDrives(True, [dtCDROM]);
for D in Drives do writeln(D + ':\');
writeln;
end;[code]
For me it outputs:
[code]
Reported drives by Windows:
C:\ [TRUE]
D:\ [TRUE]
E:\ [FALSE]
F:\ [TRUE]
Actual mounted drives:
C:\
D:\
F:\
Removable drives:
F:\
CD-Roms's:
E:\
Actual mounted CD-Roms's: