Ниже приведен метод ShowDriveSerialNo, который выводит ShowMessage. Функция GetDriveSerialNo возвращает строку. Выбирайте любой вариант.
procedure ShowDriveSerialNo(Drive : String); // Drive as 'c:' or 'd:', ...
var VolSerNum: DWORD;
Dummy1, Dummy2: DWORD;
begin
if GetVolumeInformation(drive+'\', NIL, 0, @VolSerNum, Dummy1, Dummy2, NIL, 0) then
ShowMessage(Format('%.4x:%.4x', [HiWord(VolSerNum), LoWord(VolSerNum)]));
end;
// --------------------- //
function GetDriveSerialNo(Drive : String) : String; // Drive as 'x:' ...
var VolSerNum: DWORD;
Dummy1, Dummy2: DWORD;
begin
if GetVolumeInformation(drive+'\', NIL, 0, @VolSerNum, Dummy1, Dummy2, NIL, 0) then
Result := Format('%.4x:%.4x', [HiWord(VolSerNum), LoWord(VolSerNum)]);
end;
Комментарии