Вопрос
Как получить уникальный идентификационный номер винчестера?
Ответ
Не совсем то, что вам надо, но все же:
Из советов Валентина Озерова:
Как получить серийный номер тома жесткого диска?
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 Сообщество Чайников
Контактная информация