![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Серийный номер CD [D7, WinXP]
Gun_meN © (2004-08-09 21:53:00)Здравствуйте.
Как определить серийный (или какой там) номер у CD диска?
Я нашел в сети 2 способа выявления серийного (или какого там) CD номера:
Первый:
uses MPlayer, MMSystem;
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 := 'E:\';
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;
и Второй:
procedure TForm1.Button1Click(Sender: TObject);
var
VolumeName, FileSystemName : array [0..MAX_PATH-1] of Char;
VolumeSerialNo : DWord;
MaxComponentLength, FileSystemFlags : Extended;
begin
GetVolumeInformation('E:\',VolumeName,MAX_PATH,@VolumeSerialNo,
MaxComponentLength,FileSystemFlags, FileSystemName,MAX_PATH);
Memo1.Lines.Add('VName = '+VolumeName);
Memo1.Lines.Add('SerialNo = $'+IntToHex(VolumeSerialNo,8));
Memo1.Lines.Add('CompLen = '+IntToStr(MaxComponentLength));
Memo1.Lines.Add('Flags = $'+IntToHex(FileSystemFlags,4));
Memo1.Lines.Add('FSName = '+FileSystemName);
end;
и оба при переписи диска выдают другие номера.
Т.е. я сначала записал 1 файл, получился один номер, потом дописал еще один, получился другой...
Пробывал создавать образ через FantomCD, у образа был определенный номер. Потом изменял образ с помощью ISO Commander и
записывал измененный образ на диск. НО! серийный (или какой там) номер МЕНЯЛСЯ! Т.е вычислить его не получается!
И вообще каким образом можно привязать программу к CD диску, чтобы при копировании или эмулировании программа не
работала(типа StarForce)?
(Пользовался CD-RW диском и Nero 5.5.9.9)
Заранее благодарен...
DC-AC (2004-08-10 07:12:00) [1]
> И вообще каким образом можно привязать программу к CD диску,
> чтобы при копировании или эмулировании программа не
>
> работала
А ты уверен, что нужно делать именно так, т.е. искать в тёмной комнате несуществующий номер ? Может лучше обратиться к Аладдину (www.aladdin.ru) и подумать на предмет аппаратных ключей ?