デファイエントでハードディスクシリアル番号を取得する方法

Delphiでは、GetVolumeInformation関数を使用して、ハードディスクのシリアル番号を取得できます。以下に例を示します。

uses
  Windows, SysUtils;

function GetHardDiskSerialNumber: string;
var
  VolumeSerialNumber: DWORD;
  MaximumComponentLength: DWORD;
  FileSystemFlags: DWORD;
  SerialNumber: string;
begin
  SetLength(SerialNumber, MAX_PATH);
  GetVolumeInformation('C:\', nil, 0, @VolumeSerialNumber,
    MaximumComponentLength, FileSystemFlags, nil, 0);
  SerialNumber := IntToHex(VolumeSerialNumber, 8);
  Result := SerialNumber;
end;

// 示例使用
procedure TForm1.Button1Click(Sender: TObject);
var
  SerialNumber: string;
begin
  SerialNumber := GetHardDiskSerialNumber;
  ShowMessage('硬盘序列号:' + SerialNumber);
end;

上記の例では、GetVolumeInformation 関数は指定されたハードディスクの情報を取得するために使用されており、ここで「C:\」はハードディスクのルートディレクトリパスです。これは実際の状況に応じて変更できます。VolumeSerialNumber は出力パラメータで、ハードディスクのシリアル番号を受け取ります。最後に、IntToHex 関数はシリアル番号を 16 進数の文字列に変換するために使用されます。

bannerAds