скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Как узнать серийный номер аудио 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.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook