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;
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;
Esta fução pega o número de série do VOLUME.
ResponderExcluirSe o disco for formatado o número muda.
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