Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.01 c
3-15446
cih
2003-01-17 11:02
2003.02.06
В ОнКалкФилдз кальк поле может зависить от предыдущей строки?


3-15412
MsGuns
2003-01-21 19:36
2003.02.06
Вывод в QReport DBMemo


1-15681
Сергей Бушин
2003-01-25 22:01
2003.02.06
Градиент кругленький


3-15529
Kudatsky
2003-01-21 11:49
2003.02.06
MS SQL Server и DBF-файлы


1-15675
Fill
2003-01-29 20:36
2003.02.06
tabsheet -DBGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский