首页  编辑  

驱动器序列号

Tags: /超级猛料/Hardware.硬件相关/驱动器相关/   Date Created:

function GetHDSerialNumber(Drv : String): String;

var

 VolumeSerialNumber : DWORD;

 MaximumComponentLength : DWORD;

 FileSystemFlags : DWORD;

begin

 if Drv[Length(Drv)] =':' then Drv := Drv + '\';

 GetVolumeInformation(pChar(Drv),

                      nil,

                      0,

                      @VolumeSerialNumber,

                      MaximumComponentLength,

                      FileSystemFlags,

                      nil,

                      0);

 Result := IntToHex(HiWord(VolumeSerialNumber), 4) +

           '-' +

           IntToHex(LoWord(VolumeSerialNumber), 4);

end;

**********************************

function GetHardDiskSerial(const DriveLetter: Char): string;

var

 NotUsed:     DWORD;

 VolumeFlags: DWORD;

 VolumeInfo:  array[0..MAX_PATH] of Char;

 VolumeSerialNumber: DWORD;

begin

 GetVolumeInformation(PChar(DriveLetter + ':\'),

   nil, SizeOf(VolumeInfo), @VolumeSerialNumber, NotUsed,

   VolumeFlags, nil, 0);

 Result := Format('Label = %s   VolSer = %8.8X',

   [VolumeInfo, VolumeSerialNumber])

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

 ShowMessage(GetHardDiskSerial('c'));

end;