NOTE:
This code does not work anymore in Windows 2000 or Windows XP.
See the other tip listed at the top for all newer Windows versions.
Test for example IsCDROM(4) to see, whether 'e:' is a CDROM drive.
Drives are mapped like this:
a: -> 0
b: -> 1
c: -> 2
etc.
function IsCDROM(Drive: Integer): Boolean; assembler;
Asm
MOV AX,1500h { look for MSCDEX }
xor BX,BX
INT 2fh
or BX,BX
JZ @Finish
MOV AX,150Bh { check for using CD driver }
MOV CX,Drive
INT 2fh
or AX,AX
@Finish:
end;