Форум: "WinAPI";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
Вниз
Серийный номер CD Найти похожие ветки
← →
Gun_meN (2004-08-09 21:53) [0]Здравствуйте.
Как определить серийный (или какой там) номер у 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) [1]
> И вообще каким образом можно привязать программу к CD диску,
> чтобы при копировании или эмулировании программа не
>
> работала
А ты уверен, что нужно делать именно так, т.е. искать в тёмной комнате несуществующий номер ? Может лучше обратиться к Аладдину (www.aladdin.ru) и подумать на предмет аппаратных ключей ?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c