PDA

Ver la Versión Completa : Lectura del serial de un disco duro.


mlara
21-11-2004, 00:00:51
Hola... en esta ocasión vengo a preguntar si alguien por casualidad sabe cómo puedo leer el serial de un disco duro desde Delphi...

Muchas gracias.

marcoszorrilla
21-11-2004, 10:13:09
Prueba con esta función:

implementation

{$R *.DFM}
function GetVolumeID(DriveChar: Char): String;
var
MaxFileNameLength, VolFlags, SerNum: DWord;
begin
if GetVolumeInformation(PChar(DriveChar + ':\'), nil, 0,
@SerNum, MaxFileNameLength, VolFlags, nil, 0)
then
begin
Result := IntToHex(SerNum,8);
Insert('-', Result, 5);
end
else
Result := '';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetVolumeID('C'));
end;


Un Saludo.

mlara
23-11-2004, 03:02:03
Perfecto..., pero ahora me queda la duda siguiente:

Tengo un HD con 4 particiones. Para cada partición la función retorna el respectivo ID. Supongo que si elimino las particiones y vuelvo a crearlas, digamos en un proceso de reinstalación o algo así... los números de serie o IDs no serán los mismos! Estoy en lo cierto?

Un HD no tiene un número serial único, y si es así, cómo podría recuperar ese número?

Gracias.

marcoszorrilla
23-11-2004, 15:32:32
El número que tiene, el HD o un disquete por ejemplo, se elabora durante el formateo del mismo, pero puede cambiarse por Soft, al fin y al cabo no es más que escribirlo en un determinado sector del disco.

Un Saludo.

User_Baja_2
22-12-2004, 17:11:11
Dices que el número de serie se puede asignar el que se quiera, podrias explicarme como puedo hacer eso?, que pasos he de seguir para poder asignar el numero de serie que quiero al formatear.


De paso aprovecho a preguntar si se podria recordar dicho numero de serie antes de formatear para que asignara nada mas crear de nuevo. Aunque creo que de momento con la primera opcion me sería util

Muchas gracias