PDA

Ver la Versión Completa : Obtener Numeros de Serie de algunos perifericos


camelumi
26-10-2004, 21:18:16
Aclaro posteo esta pregunta aqui, porque he alcanzado a leer algo y parece ser que esta podria ser una solucion o bien adentrarse en el registro

Necesito tomar los numeros de serie de los perifericos instalados ejemplo:

hacer un barrido y detectar:

Mouse Tipo y Serie
Teclado Tipo y Serie
Monitor Tipo y Serie
CPU Idem
CD Writer
Disco Duro
Scanner
Impresora

Espero me puedan ayudar, muchisimas gracias

quetzal
26-10-2004, 21:48:52
chaca este programa en la pagina de torry.net, tal vez te sirva

MiTeC System Information Component v.8.7.2

http://torry.net/pages.php?id=240

trae un demo, con sus componentes

espero te sirva :cool:

camelumi
26-10-2004, 22:13:01
Me pueden ayudar con algo free

Ricardosml
31-10-2004, 02:23:17
Hola

En la direccion : http://www.winsim.com/diskid32/diskid32.html puede encontrar un programa que te da informacion muy detallada del disco rígido, incluso el número de serie físico del mismo (es freeware); incluye el código fuente.
El código esta en c, pero podés hacerla una dll y llamarla desde delphi.
Con respecto a los otros dispositivos es más complicado y no creo que encuentres esa información para todos ellos salvo algunos CPU de intel.
Espero que esta respuesta te sirva.
Saludos

Nil
01-11-2004, 03:23:19
Prueba con esto:

//Añade Registry en el uses de tu formulario

procedure TForm1.Button1Click(Sender: TObject);

procedure GetHardwareList(DisplayStrings : TStrings);
var
RegHKDD, RegHKLM: TRegistry;
SLKeys, SLHWL: TStringList;
i: Integer;
RegDataInfo : TRegDataInfo;
begin
try
RegHKDD := TRegistry.Create;
RegHKDD.RootKey := HKEY_DYN_DATA;
RegHKLM := TRegistry.Create;
RegHKLM.RootKey := HKEY_LOCAL_MACHINE;
SLKeys := TStringList.Create;
SLHWL := TStringList.Create;
SLHWL.Sorted := true;
if RegHKDD.OpenKey('\Config Manager\Enum', false) then begin
RegHKDD.GetKeyNames(SLKeys);
for i := 0 to SLKeys.Count - 1 do
if RegHKDD.OpenKey('\Config Manager\Enum\' + SLKeys[i], false)then
if RegHKLM.OpenKey('\Enum\' + RegHKDD.ReadString('HardWareKey'), false) then
if RegHKLM.GetDataInfo('Class', RegDataInfo) then
SLHWL.Add(RegHKLM.ReadString('Class')
+ ': '
+ RegHKLM.ReadString('DeviceDesc'));
end; {if RegHKDD.OpenKey('\Config Manager\Enum', false)}
finally
SLKeys.Free;
RegHKLM.Free;
RegHKDD.Free;
end;
DisplayStrings.Assign(SLHWL);
SLHWL.Free;
end;

begin
GetHardwareList(Memo1.Lines);
end;