Главная страница
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
11-1196352809
Vinum
2007-11-29 19:13
2008.12.21
Отрисовка GrushButton


10-1150442838
RomanH
2006-06-16 11:27
2008.12.21
Программно задать OLE-сервер


2-1226165105
NewSer
2008-11-08 20:25
2008.12.21
Как выполнить набор команд без появления консольного окна?


15-1224564830
Slider007
2008-10-21 08:53
2008.12.21
С днем рождения ! 21 октября 2008 вторник


2-1226169251
Zhekson
2008-11-08 21:34
2008.12.21
Где можно прочитать про справку в приложениях Делфи???