在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
函數將序列號轉換為十六進制字符串。