Title: Recognize a HDD serial number
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;