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

Вниз

CD-ROM   Найти похожие ветки 

 
Sura   (2002-11-27 09:03) [0]

Уважаемые,Мастера!
Как прочитать серийный номер CD-ROM !
Заранее благодарен !!!!!!!!!!!!!!
Мастера,желательно кодом!!!!!


 
Sura   (2002-11-27 09:07) [1]

Пожалуйсто !!!!!


 
Sura   (2002-11-27 09:11) [2]

Ну,что,мастера, никто не знает ?


 
Sura   (2002-11-27 09:13) [3]

Ау!


 
Sura   (2002-11-27 09:15) [4]

Наверное сегодня день тяжолый ? 8)))....^%$#


 
Dmitry501   (2002-11-27 09:25) [5]

Очень тяжелый! Понедельник ведь. Какой серийный номер тебе нужен- привода CD или диска?


 
ART_43 ©   (2002-11-27 09:34) [6]

To Dmitry501
как определить S/N для CD-диска можешь сказать


 
Sura   (2002-11-27 09:47) [7]

Dmitry501
Какой еще понедельник, среда, батенька !!!
Я знаю как прочесть номер винта но не знаю как прочесть номер
CD-ROMа.
Помогите пожалуйсто, Мастера, Я знаю, что Вы знаете!!!


 
Dmitry501   (2002-11-27 09:48) [8]

В принципе :) В смысле куда копать-
1. Прочти в raw начало диска - никогда не делал
2. Используй ASPI - как-то пробовал, работало нестабильно, например для CD-R не находил sn ;(


 
Sura   (2002-11-27 09:54) [9]

Пишу прогу для защиты CD-ROM, кто поможет - исходник гарантирую!
Как прочесть номер сидирома???


 
Dmitry501   (2002-11-27 09:58) [10]

To Sura: Для Audio CD совет от Peter Jansen (peter.l.jansen@tip.nl):

interface

type
TMSFrec = record
Min : byte;
Sec : byte;
Frm : byte;
Nul : byte;
end;

implementation

function GetCdID : LongInt;
var
i : integer;
TrackLen : longint;
MSFRec : TMSFrec;
begin
with MediaPlayer do begin
Result := 100000*Tracks;
for i := 1 to Tracks do begin
TrackLen := TrackLength[i];
MSFRec := TMSFrec(TrackLen);
Result := Result + i*(60*MSFRec.Min + MSFRec.Sec);
end;
end;
end;


 
Dmitry501   (2002-11-27 10:02) [11]

Или вот еще от Scott F. Barnes (sfb@iaw.on.ca)
Используй переменную SerailNumber из функции GetVolumeInformation
из TMEdiaplayer

var
NotUsed, VolFlags: Integer;
Buf: array [0..MAX_PATH] of Char;
VolName: string;
LoopCnt: Integer;
SerialNumber: dword;
SNString: string[8];
CDDrive: array [1..4] of Char;
...

begin
CDDrive:="defg";
...
LoopCnt:=0;
repeat
Inc(LoopCnt);
GetVolumeInformation(PChar(CDDrive[LoopCnt]+":\"),
Buf, sizeof(Buf),
@SerialNumber, NotUsed, VolFlags, nil, 0);
SetString(VolName, Buf, StrLen(Buf));
VolName := Format("%s",[VolName]);
if VolName="Audio CD" then
begin
SNString := IntToStr(SerialNumber);
StatusBar1.Panels.Items[1].Text := "CD "+SNString;
...



 
Sura   (2002-11-27 10:02) [12]

OKKKKK !!! Dmitry501
Сейчас попробую, е сли все OK, мыло дайте Ваше пожалуйсто
Для новейшей проги ( исходника )!


 
Dmitry501   (2002-11-27 10:03) [13]

Хватит? Или еще надо?


 
Dmitry501   (2002-11-27 10:05) [14]

Вот мое мыло, но это не мои идеи- я писал от кого. Ну и напоследок короткий совет от M.H. Avegaart (avegaartNOSPAM@mccomm.nl):

function GetVolumeSerialNumber(Drive: Char): DWORD;
var
MaximumComponentLength, FileSystemFlags: DWORD;
begin
if not GetVolumeInformation(PChar(Drive + ":\"), nil, 0, @Result,
MaximumComponentLength, FileSystemFlags, nil, 0) then
RaiseLastWin32Error;
end;


 
Sura   (2002-11-27 10:05) [15]

Еще,еще,пожалуйсто,если можно,чем больше - тем лучше !


 
Dmitry501   (2002-11-27 10:08) [16]

Ну держи еще- от наших, русских :)
Цитата


От:Alexey Zolotarev (Alexey.Zolotarev@f548.n5030.z2.fidonet.org)
Заголовок:CD Serial Number
View: Complete Thread (6 articles)
Original Format
Группы новостей:fido7.ru.delphi
Число:1999/07/07


Hi Ruslan!


Смотpел я на все это , и думаю надо помочь человеку.
Указываешь свой Литеpал - сдюка, и Ок .

=== Cut ===
Getting the serial number of a disk.
Frequently Asked Questions
Getting the serial number of a disk.
Question:
How do I retrieve the serial number of a disk?
Answer:
You can use the Windows API function GetVolumeInformation()

procedure TForm1.Button1Click(Sender: TObject);
var
VolumeSerialNumber : DWORD;
MaximumComponentLength : DWORD;
FileSystemFlags : DWORD;
SerialNumber : string;
begin
GetVolumeInformation("C:\",
nil,
0,
@VolumeSerialNumber,
MaximumComponentLength,
FileSystemFlags,
nil,
0);
SerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) +
"-" +
IntToHex(LoWord(VolumeSerialNumber), 4);
Memo1.Lines.Add(SerialNumber);
end;
=== Cut ===

=== Cut ===
How can I get serial number of my drive
Frequently Asked Questions
How can I get serial number of my drive
Question:
How can I get volume information, such as the serial number,
from my drivers?
Answer:
procedure TForm1.Button1Click(Sender: TObject);
var
VolumeName,
FileSystemName : array [0..MAX_PATH-1] of Char;
VolumeSerialNo : DWord;
MaxComponentLength,
FileSystemFlags : Integer;
begin
GetVolumeInformation("C:\",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;
=== Cut ===

Удачи.

Алексей Золотаpев.
alan@laes.sbor.ru


 
Sura   (2002-11-27 10:08) [17]

OK! Dmitry501
После обработки и т.д.Я гарантирую исходники.
Спасибо Dmitry501!!!


 
Dmitry501   (2002-11-27 10:12) [18]

Пожалуйста!


 
Sura   (2002-11-27 10:13) [19]

OK!


 
al_ ©   (2002-11-28 01:31) [20]

Может и с нами поделишься?


 
Koster   (2002-11-29 05:22) [21]

хм а как серийный номер CD спасет от "виртуализации" прогами типа Парагон и ВСД ?


 
Vint ©   (2002-11-29 12:05) [22]

>Koster (29.11.02 05:22)
так же, как и от дизассемблеров ;-)

>Sura (27.11.02 09:03)
спасаешь мир от пиратов? или может ты родственник Била Гейтса :))))


 
Naum ©   (2002-12-02 04:16) [23]

Sura. Зайди на www.irs.ru/~naum (моё, родное) в раздел CDProtector, или же на www.irs.ru/~const. Защита лицензионного программного обеспечения на CD. Я тебя обрадую! Невозможно при помощи сериала защитить диск от КОПИРОВАНИЯ... От виртуализации, если постараться, то можно... А так... Прости... Короче, смотри на мой проект, там все продуманно...



Страницы: 1 вся ветка

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

Наверх




Память: 0.51 MB
Время: 0.012 c
1-15662
_vitek_
2003-01-25 02:56
2003.02.06
Random глючит...


1-15618
ignis
2003-01-29 11:48
2003.02.06
Проблема запуска программы под Windows 2000 и XP


1-15541
i80486
2003-01-27 21:49
2003.02.06
***ВОПРОС ПО ListView***


3-15443
Олег
2003-01-20 08:21
2003.02.06
Синтаксис цикла в хранимой процедуре, либо рекурсии


14-15903
Z@PODLO
2003-01-20 19:37
2003.02.06
Работа с текстом в Delphi 6