Varrer Ler Todos os Regitros Windows

Delphi

03/03/2014

Pessoal, eu preciso localizar determinadas chaves no Registro do Windows, porém não tenho o endereço delas. Isso significa que vou Varrer todos as chaves existentes até encontrar os valores que preciso.
Para isso iniciei com uma função que achei noutro fórum. De início funciona, mas no recursivo seguinte não funciona.
Eu Insiro o nome do Root e consigo pegar as primeiras pastas da hierarquia de pastas. Então, a cada pasta que encontro eu uso a própria função recursivamente para ler o conteúdo da pasta. Assim deveria ir até descer ao ultimo nível de pastas.

Segue a função. Espero que possam me ajudar.

uses
Registry


procedure TForm3.GetRegistryList(const aRoot: HKEY; const aPath: string; const aStrings: TStrings);
var
vList: TStringList;
vIEntry: Integer;
vReg : TRegistry;
begin
vReg := TRegistry.Create;
vList := TStringList.Create;
try
vReg.RootKey := aRoot;
vReg.OpenKey(aPath, True);
vReg.GetKeyNames(vList);
for vIEntry := 0 to vList.Count-1 do begin
aStrings.Add(aPath + ''\'' + vList[vIEntry]);
GetRegistryList(aRoot, aPath + ''\'' + vList[vIEntry], aStrings);
end;
finally
FreeAndNil(vReg);
FreeAndNil(vList);
end;
end;
Aesmo

Aesmo

Curtidas 0

Respostas

Aesmo

Aesmo

03/03/2014

Ninguem sabe? =\
GOSTEI 0
POSTAR