Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Registry Key suchen (https://www.delphipraxis.net/32865-registry-key-suchen.html)

Piro 28. Okt 2004 22:08


Registry Key suchen
 
Gibt es eine Möglichkeit einen Registry Eintrag auszulesen ohne den genaue Pfad zu wissen.
Das einzige was man ist ist der Schlüssel selbst.

Gibt es eine interne suche nach Registry Keys.

Sven

Christian Seehase 28. Okt 2004 22:20

Re: Registry Key suchen
 
Moin Sven,

ohne den genauen Pfad ist ja die Bedeutung unbekannt.

Piro 29. Okt 2004 07:05

Re: Registry Key suchen
 
Moin,

Folgende Sache, ich will die Frequenz des Rechners auslesen. Das Problem besteht bloß darin das Key sich ein wenig ändert im Pfad. Deshalb wollte ich ne interne Suche benutzen, wenn es sie gibt. Und nach dem bekannten DefaultSetting.VReefresh schauen.

Frage: gibt es eine interne suche(nicht sichtbar), die so funktioniert wie die normale Suche?

Sven

Piro 3. Nov 2004 13:21

Re: Registry Key suchen
 
Hi,

wie ich sehe, ist das Problem, was ich habe, etwas schwierig. Gibt es denn keine Möglichkeit den Wert auszulesen, wenn man nur einen Teil des Pfades hat.

Wäre echt gut, wenn es eine Lösung gibt.

Danke Sven.

sakura 3. Nov 2004 13:26

Re: Registry Key suchen
 
Zitat:

Zitat von daywalker299
Frage: gibt es eine interne suche(nicht sichtbar), die so funktioniert wie die normale Suche?

Nein.

Zitat:

Zitat von daywalker299
wie ich sehe, ist das Problem, was ich habe, etwas schwierig.

Stimmt.

Zitat:

Zitat von daywalker299
Gibt es denn keine Möglichkeit den Wert auszulesen, wenn man nur einen Teil des Pfades hat.

Nein.

Du musst alles von Hand schreiben ;)

...:cat:...

BKempf 3. Nov 2004 15:03

Re: Registry Key suchen
 
Notfalls könnte man die Registry als Textdatei exportieren (evtl. gibts dafür sogar einen Kommandozeilenschalter) und dann gewöhnliche Stringverarbeitungsfunktionen drauf loslassen.

Piro 4. Nov 2004 08:06

Re: Registry Key suchen
 
danke an alle, ich werde das mal versuchen indem ich die Registry in ein ein Textfile umwandel und dann die Sache auslese.

jim_raynor 4. Nov 2004 11:52

Re: Registry Key suchen
 
Wenn ich mich nicht irre gibt es auch bessere Möglichkeiten die Frequenz des Rechners rauszubekommen. Musst mal bei http://www.swissdelphicenter.com suchen.

mumu 4. Nov 2004 12:15

Re: Registry Key suchen
 
hier eine von mir geschriebene suchfunktion, wär fast was für die code-library, muss halt noch ein bisschen verbessert werden...

Delphi-Quellcode:
Procedure registry_durchsuchen(HKEY_String, Keystring, suchen: string);
var regkeys  : tstringlist;
    regvalues : tstringlist;
    i, a     : integer;
    pfad     : string;
    aktueller_key: string;
    addstring : string;
Begin
  try
    if reg.OpenKey(Keystring, False) then
    begin
      regkeys := tstringlist.Create;
      try
        reg.Access := KEY_EXECUTE;
        reg.GetKeyNames(regkeys);
        for i:=0 to regkeys.count-1 do
        begin
          regvalues := tstringlist.create;
          try
            if reg.OpenKey(IncludeTrailingBackslash(Keystring)+regkeys.Strings[i], False) then
            begin
              reg.GetValueNames(regvalues);
              for a:=0 to regvalues.count-1 do
              begin
                if reg.GetDataType(regvalues.Strings[a]) = rdString then
                begin
                  pfad := reg.ReadString(regvalues.Strings[a]);
                  if pos(suchen, pfad) <> 0 then
                  begin
                    //GEFUNDEN
                  end;
                end;
              end;
            end;
          finally
            regvalues.Free;
          end;
          if (regkeys.Count > i) and (regkeys.Strings[i] > '') then
          begin
            aktueller_key := IncludeTrailingBackslash(Keystring)+regkeys.Strings[i];
            registry_durchsuchen(HKEY_String, aktueller_key, suchen);
          end;
        end;
      finally
        regkeys.Free;
      end;
    end;
  finally
    reg.Access := KEY_ALL_ACCESS;
  end;
end;

Piro 4. Nov 2004 16:09

Re: Registry Key suchen
 
Danke das sollte mitr weiter helfen. Schönen Abend noch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz