СообЧа > База Знаний > Программирование > Delphi

Вопрос

Как получить уникальный идентификационный номер винчестера?

Ответ

Не совсем то, что вам надо, но все же:

Из советов Валентина Озерова:

Как получить серийный номер тома жесткого диска?

procedure TForm1.Button1Click(Sender: TObject);
var VolumeName, FileSystemName : array [0..MAX_PATH-1] of Char;
VolumeSerialNo : DWord;
MaxComponentLength, FileSystemFlags : Integer;
begin GetVolumeInformation('C:\',VolumeName,MAX_PATH,@VolumeSerialNo, MaxComponentLength,FileSystemFlags, FileSystemName,MAX_PATH);
Memo1.Lines.Add('VName = '+VolumeName);
Memo1.Lines.Add('SerialNo = $'+IntToHex(VolumeSerialNo,8));
Memo1.Lines.Add('CompLen = '+IntToStr(MaxComponentLength));
Memo1.Lines.Add('Flags = $'+IntToHex(FileSystemFlags,4));
Memo1.Lines.Add('FSName = '+FileSystemName);
end;


Замечание: у меня в XP Delphi 7 выдавала ошибку,
«Types of actual and formal var parameters must be identical».
Я заменил
MaxComponentLength, FileSystemFlags : Integer; на MaxComponentLength, FileSystemFlags : Cardinal и все заработало.

Из конференции Expert_FAQ

Серийный номер винчестера и серийный номер тома (логич. диск) винчестера — это разные вещи.

psv-savage



Copyright © 2000-2004 Сообщество Чайников
Контактная информация