![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
![]() 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 |
#2
|
|||
|
|||
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; |
![]() |
|
|
![]() |
|