-
Откуда берет ф-ция GetVolumeInformation серийный номер винчестера? И может ли такое быть что фирма закупила нескольков винчестеров с одним серийным номером?
-
GetVolumeInformation понятия не имеет о серийном номере винчестера.
Она позволяет получить номер ТОМА, каковой вообще присваивается при форматировании. И столь же легко изменяется. И в нем даже намека нет на уникальность.
-
Понял! А как получить какой-то уникальный номер ну типа серийный номер винчестера???
-
Ищи на сайте Алекс Коншина (Alex Konshin). Ссылка есть в его анкете на сайте.
-
> [2] dest81 (11.12.07 18:15)
> Понял! А как получить какой-то уникальный номер ну типа
> серийный номер винчестера???
GUID сойдет?
CoCreateGUID
-
-
> А как получить какой-то уникальный номер ну типа серийный
> номер винчестера???
Только имей в виду, что даже с пом модуля Коншина можно получить данную инфу далеко не со всех жестких дисков (мне такие попадались многократно)
-
Функция 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.
-
>[7] opv88 (2008-02-10 15:58:00)
ты откуда вылез с такой ерундой? залезь назад. и из этого «назада» почитай немного о структуре бут-сектора.
---
Understanding is not required. Only obedience.
-
Удалено модератором
-
> [7] opv88 (10.02.08 15:58)
> Здесь SerialNum - серийный номер диска, отображаемый в поле
Здесь SerialNum - номер, никакого отношения не имеющий к «серийному номеру» диска.