PDA

Ver la Versión Completa : Obtener una lista del hardware instalado


vroa74
16-05-2008, 17:53:15
estoy tratando de hacer esto:
encontre algo en truco mania mas no he podido hacer que se vea nada.
enlace (http://www.q3.nu/trucomania/truco.cgi?436&esp)

el codigo tal y cual lo cito:

Obtenido de alt.comp.lang.borland-delphi
Autor: alanglloyd@aol.com

Se trata de leer los datos del registro de Windows.

-Añade Registry en el uses de tu form
-Añade un TMemo (Memo1) y un TButton
-Pon este código en el OnClick del TButton:


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;



la verdad ya lo hice tal como marca mas sin embargo no tengo un resultado:
estoy trabajando con windows Xp y vista quiza haya alguna modificación, le agradeceria mucho si me ayudan.