Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

Серийный номер 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 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
4-1091477601
akvilon
2004-08-03 00:13
2004.09.19
WndClassEx.cbWndExtra (cbClsExtra)


14-1093833942
Vitalik
2004-08-30 06:45
2004.09.19
Книга по COM


14-1093472027
Гарри Поттер
2004-08-26 02:13
2004.09.19
Outpost vs DMClient


1-1094018106
Zhekson
2004-09-01 09:55
2004.09.19
Как из полного пути к экзэшнику выделить только имя?


3-1092904824
Slash
2004-08-19 12:40
2004.09.19
Удаление таблицы