12 de jan. de 2011

como obter o numero de serie do hd ( delphi )

Function NumeroSerieHD(FDrive:String) :String;
var
   Serial: DWord;
   DirLen, Flags: DWord;
   DLabel : Array[0..11] of Char;
begin
   Try
      GetVolumeInformation(PChar(FDrive+':\'),dLabel,12,@Serial,DirLen,Flags,nil,0);
      Result := IntToHex(Serial,8);
   Except
      Result := '';
   end;
end;

2 comentários:

  1. Esta fução pega o número de série do VOLUME.
    Se o disco for formatado o número muda.

    ResponderExcluir
  2. eu nao uso essa funcao para gerar chave de protecao. nem por numero de serie de hd nem placa nem nada fisico porque ja tive muitas rotinas pra captura e sempre tinha o porem, xp, 32bits, 64, vista etc.. entao uso outro metodo ;)

    ResponderExcluir