デファイエントでハードディスクシリアル番号を取得する方法
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 進数の文字列に変換するために使用されます。