2008. március 8., szombat

How to read the disk ID number


Problem/Question/Abstract:

How do I read system information? In my case I want to read a clients hard disk ID number.

Answer:

Use GetVolumeInformation, yet gets the formatted serial number, not the manufacturers HD number.


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;

Nincsenek megjegyzések:

Megjegyzés küldése