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

Вниз

GetVolumeInformation   Найти похожие ветки 

 
dest81   (2007-12-11 18:11) [0]

Откуда берет ф-ция GetVolumeInformation серийный номер винчестера? И может ли такое быть что фирма закупила нескольков винчестеров с одним серийным номером?


 
Джо ©   (2007-12-11 18:13) [1]

GetVolumeInformation понятия не имеет о серийном номере винчестера.
Она позволяет получить номер ТОМА, каковой вообще присваивается при форматировании. И столь же легко изменяется. И в нем даже намека нет на уникальность.


 
dest81   (2007-12-11 18:15) [2]

Понял! А как получить какой-то уникальный номер ну типа серийный номер винчестера???


 
Джо ©   (2007-12-11 18:28) [3]

Ищи на сайте Алекс Коншина (Alex Konshin). Ссылка есть в его анкете на сайте.


 
Kolan ©   (2007-12-11 18:28) [4]

> [2] dest81   (11.12.07 18:15)
> Понял! А как получить какой-то уникальный номер ну типа
> серийный номер винчестера???

GUID сойдет?

CoCreateGUID


 
Германн ©   (2007-12-11 18:35) [5]


> Джо ©   (11.12.07 18:28) [3]
>
> Ищи на сайте Алекс Коншина (Alex Konshin). Ссылка есть в
> его анкете на сайте.
>

Он не обновил анкету после обвала. Поэтому вот ссылка на его сайт:
http://home.earthlink.net/~akonshin/index.htm


 
DVM ©   (2007-12-11 23:15) [6]


> А как получить какой-то уникальный номер ну типа серийный
> номер винчестера???

Только имей в виду, что даже с пом модуля Коншина можно получить данную инфу далеко не со всех жестких дисков (мне такие попадались многократно)


 
opv88   (2008-02-10 15:58) [7]

Функция GetVolumeInformation позволяет получить серийный номер диска, правда в десятеричном формате. Переведя его в шестнадцатиричный формат получим тот номер, который указан производителем и определяется некоторыми тестовыми программами. Вот простая процедурка на Delphy 7:
procedure TForm1.Button1Click(Sender: TObject);
VAR
 SerialNum:DWORD;
 a,b:DWORD;
 Buffer,disk :Array[0..255]of char;
begin
 StrPCopy(@disk,Edit1.text);
 if GetVolumeInformation(@disk,Buffer,sizeof(Buffer),@SerialNum,a,b,nil,0) then
 begin
   Edit2.Text:=IntToStr(SerialNum);
   Edit3.Text:=Buffer;
   Edit4.Text:=IntToStr(a);
 end;
end;

Здесь SerialNum - серийный номер диска, отображаемый в поле edit2.


 
ketmar ©   (2008-02-10 17:31) [8]

>[7] opv88 (2008-02-10 15:58:00)
ты откуда вылез с такой ерундой? залезь назад. и из этого «назада» почитай немного о структуре бут-сектора.

---
Understanding is not required. Only obedience.


 
Джо ©   (2008-02-10 18:35) [9]

Удалено модератором


 
Джо ©   (2008-02-10 18:36) [10]

> [7] opv88   (10.02.08 15:58)
> Здесь SerialNum - серийный номер диска, отображаемый в поле


Здесь SerialNum - номер, никакого отношения не имеющий к «серийному номеру» диска.



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

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

Наверх




Память: 0.49 MB
Время: 0.019 c
2-1226240731
Fresh
2008-11-09 17:25
2008.12.21
Подлый PaintBox


3-1211821672
fics
2008-05-26 21:07
2008.12.21
SQL запрос


2-1226570443
Morgan128
2008-11-13 13:00
2008.12.21
Чтение файла txt


15-1224123146
Slider007
2008-10-16 06:12
2008.12.21
С днем рождения ! 16 октября 2008 четверг


2-1226407448
Новичок00
2008-11-11 15:44
2008.12.21
Документация по Jedi VCL