Avatar billede hestetoften Nybegynder
23. april 2006 - 19:46 Der er 3 kommentarer og
1 løsning

Finde sti i registry

Hvis jeg har en "tilfældig" nøgle i registry, og ønsker at se hele "stien" til denne nøgle, hvordan får jeg så denne frem ??
Avatar billede cool_m_f Nybegynder
23. april 2006 - 20:32 #1
nederste linie i regedit, der står den fulde sti, til den nøgle du har markeret
Avatar billede cool_m_f Nybegynder
23. april 2006 - 20:32 #2
hovsa, ignorer, havde lige overset kattegorien
Avatar billede hestetoften Nybegynder
23. april 2006 - 21:54 #3
jeg bruger denne til at finde frem til dataene, men vil gerne have skrevet stien i memo1 på hver enkelt nøgle der bliver fundet ??


procedure TForm1.Button1Click(Sender: TObject);
var
  indent: Integer;
  typename, Dataen, noegleNavn, NoegleSti : string;
  procedure EnumAllKeys(hkey: THandle);
  var
    l: TStringList;
    n,i: Integer;

  begin
    Inc(indent, 2);
    with TRegistry.Create do
      try
        RootKey := hkey;
        OpenKey(EmptyStr, False);
        l := TStringList.Create;
        try
        begin
          GetKeynames(l);
          CloseKey;
        end;
          for n := 0 to l.Count - 1 do
          begin

          if OpenKey(l[n], False) then
            begin
              typename := ReadString('');
              noegleNavn := (l[n]);
              CloseKey;
            end;
            Dataen := Format(' %s',[typename]);
            If dataen = ' ' then
            Dataen := '(Værdien er ikke defineret)';

            if LowerCase(TrimLeft(noegleNavn)) = LowerCase(TrimLeft(Edit1.Text)) then
            begin
            {denne herunder fungerer ikke
              Noeglestiskal være stien til den aktuelle key
              }
            //NoegleSti :=  NoegleSti + '/' + noegleNavn;
            //ShowMessage(NoegleSti);
            memo1.Lines.Add(NoegleSti + ' --> ' + Dataen );
            NoegleSti := '';
            end;
            if OpenKey(l[n], False) then
            begin
              EnumAllKeys(CurrentKey);
              CloseKey;
            end;
          end;
        finally
          l.Free
        end;
      finally
        Free;
      end;
    Dec(indent, 2);
  end;

begin
  Memo1.Clear;
  //Memo1.Lines.Add('Keys under HKEY_CURRENT_USER');
  indent := 0;
  Memo1.Lines.BeginUpdate;
  try
    EnumAllKEys(HKEY_CURRENT_USER);
    //EnumAllKEys(HKEY_CLASSES_ROOT);
  finally
    Memo1.Lines.EndUpdate;
  end;
end;

end.
Avatar billede hestetoften Nybegynder
27. juni 2006 - 21:01 #4
intet ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester