08 Apr

Volume serial number

With this simple function, you will be able to get volume serial number and label. It could be either hard disk partition or CD/DVD disk.

unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
function GetHardDiskSerial(const DriveLetter: char): string;
var NotUsed, VolumeFlags, VolumeSerialNumber: dWord;
    VolumeInfo: array[0..MAX_PATH] of char;
begin
  GetVolumeInformation(PChar(DriveLetter + ':\'), VolumeInfo, 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;
 
end.
  • Digg
  • del.icio.us
  • Facebook
  • Technorati
  • Google
  • Live
  • YahooMyWeb

Leave a Reply

You must be logged in to post a comment.