Wie kann ich feststellen, ob eine Audio-CD im Laufwerk liegt?
Möglichkeit 1: Man sucht auf dem angegebenen Laufwerk nach einer Datei mit der Endung *.cda:
function IsAudioCD(Drive : char) : boolean; var SR : TSearchRec; begin Result := SysUtils.FindFirst(Drive+':\*.cda',faAnyFile,SR)=0; SysUtils.FindClose(SR); end;
Möglichkeit 2: Der 'VolumeName' einer Audio-CD ist immer 'Audio-CD':
function IsAudioCD(Drive : char) : boolean; var DrivePath : string; MaximumComponentLength : DWORD; FileSystemFlags : DWORD; VolumeName : string; begin Result := false; DrivePath := Drive + ':\'; if GetDriveType(PChar(DrivePath))<>DRIVE_CDROM then exit; SetLength(VolumeName, 64); GetVolumeInformation(PChar(DrivePath), PChar(VolumeName), Length(VolumeName), nil, MaximumComponentLength, FileSystemFlags, nil, 0); result := (lStrCmp(PChar(VolumeName),'Audio CD')=0); end;
Delphi 1 | Delphi 2 | Delphi 3 | Delphi 4 |
nicht getestet | Version nicht betroffen | getestet |
siehe auch:
Wie kann ich bei mehreren CD-ROM-Laufwerken ein bestimmtes für
Audio-CD-Wiedergabe bestimmen?
Wie kann ich die ID-Nummer einer Audio-CD ermittlen?
Wie kann ich die Schublade des CD-Laufwerks ein-/ausfahren?