Как на Delphi узнать сеpийный номеp аудио CD?
Написал Ярослав Гасов   
07.01.2003

Share this!

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

Последнее обновление ( 03.03.2007 )