Use GetVolumeInformation function, like this example:
procedure TForm1.Button1Click(Sender: TObject); var SerialNum: DWord; A,B: DWord; C: array [0..255] of Char; Buffer: array [0..255] of Char; begin if GetVolumeInformation( PChar('C:\'), Buffer, 256, @SerialNum, A, B, C, 256) then Label1.Caption:=IntToStr(SerialNum); end;