Acabo de revisar algunos hilos y esta es la solucion mas practica
Código Delphi
[-]
function GetVolumeID(DriveChar: Char): String;
var
MaxFileNameLength, VolFlags, SerNum: DWord;
begin
if GetVolumeInformation(PChar(DriveChar + ':\'), nil, 0,
@SerNum, MaxFileNameLength, VolFlags, nil, 0)
then
begin
Result := IntToHex(SerNum,20);
Insert('-', Result, 5);
end
else
Result := '';
end;
procedure TFrmLogin.Button1Click(Sender: TObject);
begin
ShowMessage(GetVolumeID('C'));
end;