Array
(
)

número de série do hd...

Universodosoftware
   - 06 set 2004

Gostaria de saber o código que posso utilizar para descobrir a série do meu hd que funcione em qualquer sistema operacional ©Microsoft.


Al_oliveira
   - 06 set 2004

Use a seguinte função para retorna o número serial de qualquer driver.

Function TForm1.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;


Al_oliveira
   - 06 set 2004

não linha Result que está com uma carinha é 8, a linha vai ficar assim
Result := IntToHex(Serial,8 );


Lindomar.des
   - 06 set 2004

Colega,

Seguinte...o código que o al_oliveira postou é bom mas qdo o hd é formatado esse serial muda. Eu mesmo utilizei esse código por muito tempo até descobri isso:

http://home.earthlink.net/~akonshin/delphi_components.htm

lá vc encontrará ideinfo2, IdeSN2 e ScsiSN. Use o que melhor se adaptar a sua necessidade. Esses exemplos capturam o número de série de fábrica e não muda qdo o hd é formatado. tem um leiame e um exemplo para ajudar a utilização. è só adaptar par o sua aplicação.

Boa sorte.