número de série do hd...
Gostaria de saber o código que posso utilizar para descobrir a série do meu hd que funcione em qualquer sistema operacional ©Microsoft.
Universodosoftware
Curtidas 0
Respostas
Al_oliveira
06/09/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;
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;
GOSTEI 0
Al_oliveira
06/09/2004
não linha Result que está com uma carinha é 8, a linha vai ficar assim
Result := IntToHex(Serial,8 );
Result := IntToHex(Serial,8 );
GOSTEI 0
Lindomar.des
06/09/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.
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.
GOSTEI 0