vichovi
03-01-2005, 11:59:31
Hola a tod@s:
Necesito hacer hacer un inventario del hardware instalado en un equipo, para Windows 9x encontre lo siguiente en TMania:
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;
Este codigo accede a la Key HKEY_DYN_DATA, la cual no existe en Windows con tecnologia NT.
Agradeceria una ayudita.
Gracias.
Necesito hacer hacer un inventario del hardware instalado en un equipo, para Windows 9x encontre lo siguiente en TMania:
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;
Este codigo accede a la Key HKEY_DYN_DATA, la cual no existe en Windows con tecnologia NT.
Agradeceria una ayudita.
Gracias.