Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
2-1226565759
Нов_и_чок
2008-11-13 11:42
2008.12.21
RegisterServicesProcess in User32.dll


2-1226701334
istok2
2008-11-15 01:22
2008.12.21
аналог Longword в TFieldType


2-1226610677
cruiser
2008-11-14 00:11
2008.12.21
Текстовый файл и определение номера или конца строки


15-1224495616
DillerXX
2008-10-20 13:40
2008.12.21
Поговорим о синих человечках?


2-1226217609
VitGun
2008-11-09 11:00
2008.12.21
Показ нескольких всплывающих окон




   Наверх