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?