Wie und welche Informationen kann ich über eine CD bekommen.
Ich habe irgendwo mal folgenden Code gefunden:
Delphi-Quellcode:
Type
tVolumeInfo = Record
Drive: Char;
Name: String;
SerialNumber: DWord;
FileSystemName: String;
End;
Function GetVolumeInfo (aDrive: Char): tVolumeInfo;
Var
OldErrorMode: Integer;
Dummy1, Dummy2: DWord;
VolumeNameBuf,
FileSystemNameBuf: Array [0..MAX_PATH] of Char;
VolumenSerialNumber: pDWord;
Info: tVolumeInfo;
Begin
With Info Do
Begin
Drive := aDrive;
Name := '';
SerialNumber := 0;
FileSystemName := '';
End;
OldErrorMode := SetErrorMode (SEM_FAILCRITICALERRORS);
Try
If GetVolumeInformation (
pChar (aDrive + ':\'),
VolumeNameBuf, SizeOf (VolumeNameBuf),
VolumenSerialNumber, Dummy1, Dummy2,
FileSystemNameBuf, SizeOf (FileSystemNameBuf)
)
Then
Begin
Info.Name := VolumeNameBuf;
Info.SerialNumber := VolumenSerialNumber^;
Info.FileSystemName := FileSystemNameBuf;
End;
Finally
SetErrorMode (OldErrorMode);
End;
Result := Info;
End;
procedure TForm1.Button1Click(Sender: TObject);
Var
Info: tVolumeInfo;
Str: String;
Begin
Info := GetVolumeInfo ('e');
Str := 'Informationen über Laufwerk' + #32 + Info.Drive;
Str := Str + #13#10#32#32 + 'Name: ' + Info.Name;
Str := Str + #13#10#32#32 + 'Serial: ' + IntToStr (Info.SerialNumber);
Str := Str + #13#10#32#32 + 'System: ' + Info.FileSystemName;
MessageDlg (Str, mtInformation, [mbOK], 0);
End;
Jedoch gibt diese Funktion mir keine Inforamtion über eine leere CD aus.
Außerdem wollte ich noch fragen, ob sich die Seriennummer der CD ändert, sobald ich etwas darauf gebrannt habe und ob es vielleicht CD Infos gibt, die von CD zu CD anderes sind, jedoch sich beim bespielen der CD nicht ändern.
Vielleicht hat sich schon mal jemand mit diesem Thema auseinander gesetzt und kann mir helfen.
Danke UC