Mega Code Archive

 
Categories / Delphi / Files
 

How to read the hard disk serial number and volume label

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button2: TButton; procedure Button2Click(Sender: TObject); private { Private declarations } public function GetHardDiskSerial(const DriveLetter: Char): string; { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function TForm1.GetHardDiskSerial(const DriveLetter: Char): string; var NotUsed: DWORD; VolumeFlags: DWORD; VolumeInfo: array[0..MAX_PATH] of Char; VolumeSerialNumber: DWORD; begin GetVolumeInformation(PChar(DriveLetter + ':\'), VolumeInfo, SizeOf(VolumeInfo), @VolumeSerialNumber, NotUsed, VolumeFlags, nil, 0); Result := Format('Label = %s Volume Serial = %8.8X', [VolumeInfo, VolumeSerialNumber]) end; procedure TForm1.Button2Click(Sender: TObject); begin ShowMessage(GetHardDiskSerial('c')); end; end.