Delphi World - Как узнать серийный номер аудио CD
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как узнать серийный номер аудио CD

Отец-программист сидит у телевизора. Сынок возится с компьютером. Через некоторое время сынок подбегает к папе:
- Папа! А что значит надпись "Формат диск C камплит?

CD может иметь или не иметь серийный номер и/или универсальный код продукта (Universal Product Code). MCI-расширение Windows предоставляет эту информации с помощью комманды MCI_INFO_MEDIA_IDENTITY command. Эта команда возвращает уникальную ID-строку.


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.

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования