AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Schlüssel mit allen Subkeys exportieren?
Thema durchsuchen
Ansicht
Themen-Optionen

Schlüssel mit allen Subkeys exportieren?

Ein Thema von mlspider · begonnen am 1. Dez 2006 · letzter Beitrag vom 1. Dez 2006
Antwort Antwort
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#1

Schlüssel mit allen Subkeys exportieren?

  Alt 1. Dez 2006, 07:31
Ich versuche vergeblich den Schlüssel "Schemes" aus HKEY_CURRENT_USER\AppEvents mit allen Subkeys zu exportieren. Dazu verwende ich die von Luckie erstellte Funktion.


Zum Thread

Leider steht in der Hive-Datei nur Müll drin. Gibt es eine Möglichkeit, direkt als Reg-Datei zu exportieren?
Lässt sich eigentlich diese Funktion auch für den Import portieren?
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Shlüssel mit allen Subkeys exportieren?

  Alt 1. Dez 2006, 08:07
Was heißt nur MÜll? Die Daten sind binär. Willst du sie in lesbarer Form im reg-Format, wird dir nichts anderes übrig bleiben, als die entsprechende Datei von Hand zu erstellen. Was natürlich auch bedeutet, dass du jeden Schlüssel rekursiv durchsuchen musst und jeden Wert einzeln schreiben musst. Wie so eine reg-Datei aufgebaut ist kannst du ja selber rausfinden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Shlüssel mit allen Subkeys exportieren?

  Alt 1. Dez 2006, 08:09
Das muß nun wirklich nicht sein. Danke Luckie.
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#4

Re: Shlüssel mit allen Subkeys exportieren?

  Alt 1. Dez 2006, 08:19
Moin!

Ähm, schon mal die Exportfunktion vom Regeditor gesehen?
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Shlüssel mit allen Subkeys exportieren?

  Alt 1. Dez 2006, 09:34
@ Sunlight7,

Die Export- bzw. Importfunktion im Editor ist mir sehr wohl bekannt. Nur kann ich vom jeweiligen Benutzer meines Programms nicht verlangen, Änderungen in der Registerdatenbank von Windows vorzunehmen.
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Shlüssel mit allen Subkeys exportieren?

  Alt 1. Dez 2006, 09:36
Man kann den Editor aber mit Paramtern reg-Dateien importieren und exportieren lassen. Ich denke das meine unser Sonnenschein.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
KLS

Registriert seit: 20. Jun 2004
Ort: Berlin
89 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Shlüssel mit allen Subkeys exportieren?

  Alt 1. Dez 2006, 09:49
irgendwo hab ich mal folgendes aufgeschnappt. und ich denke das is genau das was du suchst.

Delphi-Quellcode:
procedure ExportRegistryBranch(rootsection : cardinal; Regroot,FileName : string);
var
  reg : TRegistry;
  f : Textfile;
  p : PChar;

  procedure ProcessBranch(root : string);
  var
    values,keys : TStringList;
    i,j,k : longint;
    s,t : string;
  begin
    Writeln(f);
    case rootsection of
      HKEY_CLASSES_ROOT : s := 'HKEY_CLASSES_ROOT';
      HKEY_CURRENT_USER : s := 'HKEY_CURRENT_USER';
      HKEY_LOCAL_MACHINE : s := 'HKEY_LOCAL_MACHINE';
      HKEY_USERS : s := 'HKEY_USERS';
      HKEY_PERFORMANCE_DATA : s := 'HKEY_PERFORMANCE_DATA';
      HKEY_CURRENT_CONFIG : s := 'HKEY_CURRENT_CONFIG';
      HKEY_DYN_DATA : s := 'HKEY_DYN_DATA';
    end;
    Writeln(f,'[' + s + '\' + root + ']');
    reg.OpenKey(root,False);
    values := TStringList.Create;
    keys := TStringList.Create;
    reg.GetValuenames(values);
    reg.GetKeynames(keys);
    for i := 0 to values.Count - 1 do
    begin
      s := values[i];
      t := s;
      if s = 'then s := '@else s := '"' + s + '"';
      Write(f,StringReplace(s,'\','\\',[rfReplaceAll]) + '=');
      case reg.Getdatatype(t) of
        rdString,rdExpandString : Writeln(f,'"' + StringReplace(reg.ReadString(t) + '"','\','\\',[rfReplaceAll]));
        rdInteger : Writeln(f,'dword:' + IntToHex(reg.readinteger(t),8));
        rdBinary : begin
                     Write(f,'hex:');
                     j := reg.GetDataSize(t);
                     GetMem(p,j);
                     reg.ReadBinaryData(t,p^,J);
                     for k := 0 to j - 1 do
                     begin
                       Write(f,IntToHex(Byte(p[k]),2));
                       if k <> j - 1 then
                       begin
                         Write(f,',');
                         if (k > 0) and ((k mod 25) = 0) then Writeln(f,'\');
                       end;
                     end;
                     FreeMem(p,j);
                     Writeln(f);
                   end;
              else Writeln(f, '""');
      end;
    end;
    reg.CloseKey;
    values.Free;
    for i := 0 to keys.Count - 1 do ProcessBranch(root + '\' + keys[i]);
    keys.Free;
  end;

begin
  if RegRoot[Length(Regroot)] = '\then delete(Regroot,Length(Regroot),1);
  Assignfile(f,FileName);
  Rewrite(f);
  Writeln(f,'REGEDIT4');
  reg := TRegistry.Create;
  reg.Rootkey := Rootsection;
  ProcessBranch(Regroot);
  reg.Free;
  Close(f);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ExportRegistryBranch(HKEY_LOCAL_MACHINE,'HARDWARE','c:\test.reg');
end;
Thomas H.
  Mit Zitat antworten Zitat
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Shlüssel mit allen Subkeys exportieren?

  Alt 1. Dez 2006, 09:56
Eine Prozedur innerhalb einer Prozedur? Geht denn das in Ordnung?

Edit: Ja, es geht in Ordnung. Und wie könnte diese Datei wierder eingespielt werden? (Ohne Doppelklick, vielmehr aus einem Programm heraus.)
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Shlüssel mit allen Subkeys exportieren?

  Alt 1. Dez 2006, 10:11
Zitat von mlspider:
Eine Prozedur innerhalb einer Prozedur? Geht deenn das in Ordnung?
Jupp, tut es.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#10

Re: Shlüssel mit allen Subkeys exportieren?

  Alt 1. Dez 2006, 15:03
Zitat von Luckie:
Man kann den Editor aber mit Paramtern reg-Dateien importieren und exportieren lassen. Ich denke das meine unser Sonnenschein.
Wie haste das denn bloß wieder erraten?
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz