Entwickler-Ecke

Windows API - Registry-Werte umsetzen?


ffgorcky - Fr 29.05.09 15:27
Titel: Registry-Werte umsetzen?
Hallo liebes Forum,

ich weiß leider gerade nicht, wie ich einen bestimmten Registry-Ordner als ganzes umsetzen (oder erst mal duplizieren und dann bei Erfolg löschen) kann, da das (neue Ersatz-)Programm jetzt anders heißt, aber immer noch auf die alten Werte zugreifen darf. Oder kann ich den Ordenr auch einfach nur irgendwie umbenennen?

Könnt ihr mir bitte helfen?
Bitte nach Möglichkeit einfach nur eine richtig schön kurze Befehlsfolge.
Danke!


jaenicke - Fr 29.05.09 15:44

Wie wäre es mit MoveKey in TRegistry? Das ist mir da gerade ins Auge gesprungen, ausprobiert habe ich es nicht. Aber dem Namen nach sollte es das ja sein.


ffgorcky - Fr 29.05.09 15:52

Also Du meinst, dass ich zum Beispiel mit dem Thema 21231 [http://www.delphi-forum.de/viewtopic.php?t=21231] weiterkomme?
Das werde ich dann doch gleich mal ausprobieren!


thepaine91 - Fr 29.05.09 15:52

Die Methode verschiebt einen vorhandenen Schlüssel zusammen mit Unterschlüsseln und Datenwerten an eine neue Position. Dabei wird ein neuer Schlüsselname verwendet.

procedure MoveKey(const OldName, NewName: String; Delete: Boolean);

Beschreibung

Mit MoveKey wird ein vorhandener Schlüssel zusammen mit Unterschlüsseln und Datenwerten an eine andere Position verschoben oder kopiert. Der Kopiervorgang verläuft rekursiv, das heißt, eventuell vorhandene Unterschlüssel und deren Datenwerte werden ebenfalls kopiert. Nach Beendigung des Vorgangs wird der neue Schlüssel geschlossen.

Der Parameter OldName bezeichnet den Schlüssel, der kopiert oder verschoben werden soll. Der neue Name für die Kopie des Schlüssels wird in NewName übergeben. Wenn der Name in NewName noch nicht existiert, wird er von MoveKey erzeugt. Der boolesche Parameter Delete steuert, ob der alte Schlüssel nach dem Kopiervorgang gelöscht werden soll: True bedeutet, daß OldName nach dem Kopieren gelöscht wird. Andernfalls wird der alte Schlüssel geschlossen.