Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
3-1093269521
realbeer
2004-08-23 17:58
2004.09.19
уникальность строки dbf


1-1094104687
Litr
2004-09-02 09:58
2004.09.19
StringGrid


1-1093983709
dms_main
2004-09-01 00:21
2004.09.19
dll


14-1094126565
nasty
2004-09-02 16:02
2004.09.19
разработка универсальных структур бд...


14-1094040889
Kurtevich
2004-09-01 16:14
2004.09.19
Просто так...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский