Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

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

Schlüssel aus der Registry exportieren

  Alt 11. Okt 2002, 11:13
Hintergrund: Es hat mich genervt, dass man bei jeder Neuinstallation immer wieder alles neu von hand einstellen muß. (Ich meinE, wozu habe ich denn einen Computer?) Ich habe mich dann etwas damit auseinandergesetzt und von Hand die Schlüssel aus der Regeistry exportiert. Nun wollte ich das automatisieren. Mit Batch-Dateien habe ich es schon hinbekommen, aber die sind sehr unflexible. Ich bin dann auf die API RegSaveKey gestossen.

So mit untenstehenden Code versuche ich nun einen Schlüssel aus der Registry zu exportieren und zu speichern. Das funktioniert so halb. Also die Datei wird erstellt, nur leider bleibt sie leer. Und genau an dieser Stelle bräuchte ich eure Hilfe.

Code:
[b]procedure[/b] ExportRegKey(Path: [b]String[/b]; ID: byte; Root: HKEY);
[b]var[/b]
  hRegKey, dummy: HKEY;
  i: Byte;
  s: [b]String[/b];
[b]begin[/b]
  s := GetSubKey(LoadStr(ID));
  dummy := RegOpenKeyEx(HKEY_CURRENT_USER, @s[1], 0, KEY_READ, hRegKey);
  RegSaveKey(hRegKey, @Path[1], 0);
  RegCloseKey(hRegKey);
[b]end[/b];
Zur Erklärung:
LooadStr(ID) liefert folgenden String:
"HKEY_CURRENT_USER\\Software\\Microsoft\\Inter net Explorer" (Die doppleten "\\" sind in Ordnung, der String kommt aus einem Stringtable mit dem VC erstellt. Die gleichen Strings werden als Tooltips angezeigt und da verschwienden die doppelten "\\".)

GetSubKey(...) liefert für obiges Beispiel "Software\\Microsoft\\Internet Explorer"

Path ist der Pfad und der Dateiname.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat