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 Teilstruktur der Registry in einer Textdatei speichern (https://www.delphipraxis.net/43593-teilstruktur-der-registry-einer-textdatei-speichern.html)

St.Pauli 6. Apr 2005 10:32


Teilstruktur der Registry in einer Textdatei speichern
 
Hi,

RegEdit bietet ja die Möglichkeit eine Teilstruktur der Registry in einer Textdatei zu speichern. Kann Delphi das auch? Also gibt es in Delphi die Möglichkeit einen Teil/Pfad der Registry in einer TExtdatei zu speichern?

MathiasSimmack 6. Apr 2005 10:35

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Nein. Du könntest aber den Registryeditor mit den entsprechenden Parametern aufrufen. Und bevor du fragst: die entsprechenden Parameter erfährst du mit einem
Code:
regedit /?
:)

Orbmu2k 6. Apr 2005 11:05

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Zitat:

Zitat von MathiasSimmack
Nein. Du könntest aber den Registryeditor mit den entsprechenden Parametern aufrufen. Und bevor du fragst: die entsprechenden Parameter erfährst du mit einem
Code:
regedit /?
:)

geht bei mir nicht :( geht ganz normal der regedit auf


aber man könnte doch die registry rekursiv ab deinem wunschschlüssel durchforsten und in eine Text datei schreiben das sollte kein Problem sein

Orbmu2k 6. Apr 2005 11:15

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Oder Schau mal hier MSDN-Library durchsuchenRegSaveKey

Mephistopheles 6. Apr 2005 11:39

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Zitat:

Zitat von Orbmu2k
Oder Schau mal hier MSDN-Library durchsuchenRegSaveKey

Dann schau doch selber mal dort, bevor du solche Tips gibst:
Im Platform SDK steht:
The calling process must have the SE_BACKUP_NAME privilege enabled. For more information, see Running with Special Privileges.


Syntax für REGEDIT:
http://www.robvanderwoude.com/regedit.html

Robert Marquardt 6. Apr 2005 11:42

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Zitat:

Zitat von Orbmu2k
aber man könnte doch die registry rekursiv ab deinem wunschschlüssel durchforsten und in eine Text datei schreiben das sollte kein Problem sein

Schau dir erst mal an wie Regedit exportiert.
Das Regedit 5 Format ist ausserdem in Unicode.

Mephistopheles 6. Apr 2005 11:58

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Zitat:

Zitat von Robert Marquardt
Zitat:

Zitat von Orbmu2k
aber man könnte doch die registry rekursiv ab deinem wunschschlüssel durchforsten und in eine Text datei schreiben das sollte kein Problem sein

Schau dir erst mal an wie Regedit exportiert.
Das Regedit 5 Format ist ausserdem in Unicode.

Ich könnte ja jetzt behaupten: ist es nicht. Denn REGEDIT ist es egal, ob es als ANSI oder als Unicode abgespeichert wurde, solange die Präambel der Datei stimmt.
Aber REGEDIT macht es ja prinzipiell nicht anders mit dem Export. Nur, daß in einer INI-artigen Datei das ganze abgespeichert wird. Rekursiv und mit TIniFile im Schlepptau dürfte das keine Probleme geben - denn dann kann ich ja in bestimmte Sections schreiben.

Aber wozu das ganze, wenn man REGEDIT auch einfach aufrufen kann ... es sei denn natürlich, der Administrator hätte diesen Aufruf unterbunden :zwinker:

MathiasSimmack 6. Apr 2005 12:20

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Zitat:

Zitat von Orbmu2k
Zitat:

Zitat von MathiasSimmack
Code:
regedit /?

geht bei mir nicht :( geht ganz normal der regedit auf

Upps. Ich frage mich ... :gruebel: ... Also, exportieren:
Code:
regedit /s /e REG-Datei HKEY_xxxx\...\...
"/s" war IMHO silent. Wenn nicht gewünscht, dann einfach weglassen. Importieren müsste dann wohl "/i" sein. Ich weiß es nicht, weil ich die REG-Dateien dann meist im Explorer angeklickt habe. :stupid:

Mephistopheles 6. Apr 2005 12:38

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Importieren nur mit "/s" ... denn das Importieren ist die Default-Aktion :zwinker:

St.Pauli 6. Apr 2005 13:08

Re: Teilstruktur der Registry in einer Textdatei speichern
 
THX, klappt genau so wie ich es wollte!

DANKE AN ALLE DIE SICH HIER BETEILIGT HABEN!!!!!

Orbmu2k 6. Apr 2005 13:21

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hab das mir RegSaveKey mal probiert ... das speichert leider nur binäre reg Files die man dann nur manuell mit regedit importieren kann

Delphi-Quellcode:
function ExportBinaryRegKey(RootKey:HKEY; KeyPath, TargetFilename: String):boolean;
var
  rl: Cardinal;
  hToken: Cardinal;
  tkp: TOKEN_PRIVILEGES;
  key:HKEY;
  regres:Integer;
begin
  Result := True;
  if not OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
  begin
    Result := False;
    Exit;
  end else
  begin
    if LookupPrivilegeValue(nil, 'SeBackupPrivilege', tkp.Privileges[0].Luid) then
    begin
      tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
      tkp.PrivilegeCount := 1;
      AdjustTokenPrivileges(hToken, False, tkp, 0, nil, rl);
      if GetLastError <> ERROR_SUCCESS then
      begin
        Result := False;
        Exit;
      end;
    end else
    begin
      Result := False;
      Exit;
    end;
  end;
  regres := RegOpenKey(RootKey,PAnsiChar(KeyPath),key);
  if regres <> ERROR_SUCCESS then
  begin
    Result := False;
    Exit;
  end;
  regres := RegSaveKey(key,PAnsiChar(TargetFilename),nil);
  if regres <> ERROR_SUCCESS then
  begin
    Result := False;
    Exit;
  end;
  regres := RegCloseKey(key);
  if regres <> ERROR_SUCCESS then
  begin
    Result := False;
    Exit;
  end;
end;

Habe aber bei den Schweitzern mal was gefunden -> Siehe Anhang

Mephistopheles 6. Apr 2005 13:27

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Das ist wohl wahr. Genau dazu ist diese Funktion ja auch da :zwinker: ...

Importieren kannst du sie mit REGEDIT übrigens erst ab Windows XP. Bei früheren Versionen mußte man dafür REGEDT32 benutzen.

Christian Seehase 6. Apr 2005 16:39

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Moin Mephisto,

Zitat:

Zitat von Mephistopheles
Importieren kannst du sie mit REGEDIT übrigens erst ab Windows XP.

falls Du damit die Reg-Dateien meinst:
Die konntest Du schon unter NT 4 mit Regedit importieren.

Mephistopheles 6. Apr 2005 17:21

Re: Teilstruktur der Registry in einer Textdatei speichern
 
Nein, es ging um jene binäre Dateien, die mein Vorredner meinte. Bis inkl. Windows 2000 hat es unter Windows (NT) nur den "Windows 95 REGEDIT" und den REGEDT32 aus NT3-Zeiten gegeben. Mit Windows XP wurden die Funktionen beider verschmolzen. So konnten sog. Backups (eben jene binären Dateien) nur mit REGEDT32 gespeichert oder geladen werden oder auch Zugriffsrechte auf Schlüssel vergeben werden.

Sorry, wenn ich etwas ungenau war.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 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