A pedidos, segue uma função, desenvolvida em Delphi (5, 6 ou 7) capaz de retornar o número serial do HD (na verdade, de um volume em específico). Pode ser utilizado, para gerar senhas/códigos de liberação (com base em cálculos obviamente). Para usá-la/testá-la basta copiar e colar o código abaixo na área de implementation do formulário, e depois chamar a função do click de um button, por exemplo:
procedure TForm1.Button1Click(Sender: TObject);
begin
Showmessage (SerialNum(‘c’));
end;
//Código da função, que deve ser colado no implementation do form, por exemplo
Function SerialNum(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;