Q&A

  • 레지스트리 검색 하는 방법


HKEY_CURRENT_USERSOFTWARE

+



+





SOFTWARE 밑에 있는 모든 서브키를 검색하는 프로그램을 제작하고 잇는데요..



2단계 서브키까지는 검사하는데 3단계이상은 찾지 못하는거 같습니다..



답변 주시면 감사하겠습니다.



** 2단계 까지는 검사하는 소스인데...

// 전역선언

var

Reg : TRegistry;

Str : String;

// 서브 키를 검사하는 프로시져

procedure TForm1.ScanSubREG(Regg:String);

var

RegA : TRegistry;

StrListA : TStringList;

i : Integer;

begin

RegA := TRegistry.Create;

StrListA := TStringList.Create;

RegA.RootKey := HKEY_CURRENT_USER;

RegA.OpenKey(Regg,False);

RegA.GetKeyNames(StrListA);

For i:=0 to StrListA.Count - 1 do

begin

CheckListbox1.Items.Add('-'+StrListA.Strings[i]);

// 재귀호출

ScanSubREG(Regg+StrListA.Strings[i]);



end;





end;

//-----------------------------

procedure TForm1.FormCreate(Sender: TObject);

begin

Str := 'SOFTWARE';

Reg := TRegistry.Create;

Reg.RootKey := HKEY_CURRENT_USER;

Reg.OpenKey(Str,False);



end;



procedure TForm1.BitBtn1Click(Sender: TObject);

var

StrList : TStringList;

I:integer;

begin

StrList := TStringList.Create;



Reg.GetKeyNames(StrList);

For i:=0 to StrList.Count - 1 do

begin

CheckListBox1.Items.Add(StrList.Strings[i]);

ScanSubREG(Str+StrList.Strings[i]+'');

end;



end;



0  COMMENTS