Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

GetVolumeInformation [D6, D7]


dest81 ©   (2007-12-11 18:11:00) 

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


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

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


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


Джо   (2008-02-10 18:35:00) [2]

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


ketmar   (2008-02-10 17:31:00) [3]

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

---
Understanding is not required. Only obedience.


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

Функция 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.


DVM   (2007-12-11 23:15:00) [5]


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

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


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


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

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


Джо   (2007-12-11 18:28:00) [7]

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


Kolan   (2007-12-11 18:28:00) [8]

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

GUID сойдет?

CoCreateGUID


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

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


Джо   (2007-12-11 18:13:00) [10]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо