PDA

Ver la Versión Completa : Saber el tipo de disco


MON___
26-12-2007, 22:24:16
Mediante GetDriveType podemos conocer el tipo de disco. Ahora bien, una vez sabido que se trata de un DRIVE_CDROM, ¿existe alguna función para saber si el disco insertado en nuestra unidad de CD-ROM es un CD de audio?

cHackAll
27-12-2007, 23:21:12
uses Windows;

function GetID(lpDrive: PChar): int64;
var hDevice: Integer;
begin
hDevice := _lopen(PChar('\\.\'+lpDrive), OF_READ);
_llseek(hDevice, $8000, 0);
_lread(hDevice, @Result, SizeOf(Result));
CloseHandle(hDevice);
end;

begin
if GetID('g:') <> $1313030444301 then
MessageBox(0, 'AudioCD', nil, 0);
end.

Aconsejo revisar UDF (http://en.wikipedia.org/wiki/Universal_Disk_Format), CDFS (http://en.wikipedia.org/wiki/CDFS), ISO9660 (http://en.wikipedia.org/wiki/ISO_9660), el "libro rojo (http://en.wikipedia.org/wiki/Red_Book_(audio_CD_standard))" y los CDs hibridos (http://en.wikipedia.org/wiki/Hybrid_CD).

Saludos