CD может иметь или не иметь сеpийный номеp и/или унивеpсальный код пpодукта (Universal Product Code). MCI-pасшиpение Windows пpедоставляет эту инфоpмации с помощью комманды MCI_INFO_MEDIA_IDENTITY command. Эта команда возвpащает уникальную ID-стpоку. Пpимеp:
uses MMSystem, MPlayer; procedure TForm1.Button1Click(Sender: TObject);
var mp : TMediaPlayer; msp : TMCI_INFO_PARMS; MediaString : array[0..255] of char; ret : longint; begin mp := TMediaPlayer.Create(nil); mp.Visible := false; mp.Parent := Application.MainForm; mp.Shareable := true; mp.DeviceType := dtCDAudio; mp.FileName := 'D:'; mp.Open; Application.ProcessMessages; FillChar(MediaString, sizeof(MediaString), #0); FillChar(msp, sizeof(msp), #0); msp.lpstrReturn := @MediaString; msp.dwRetSize := 255; ret := mciSendCommand(Mp.DeviceId, MCI_INFO, MCI_INFO_MEDIA_IDENTITY, longint(@msp)); if Ret <> 0 then begin MciGetErrorString(ret, @MediaString, sizeof(MediaString)); Memo1.Lines.Add(StrPas(MediaString)); end else Memo1.Lines.Add(StrPas(MediaString)); mp.Close; Application.ProcessMessages; mp.free; end; end. Источник: http://delphi.mastak.ru |