Entwickler-Ecke
Windows API - Registryzweig umbenennen / Rename Registry Key
mb - Mo 26.01.04 20:22
Titel: Registryzweig umbenennen / Rename Registry Key
Hi!
Stand jemand von Euch schon mal vor der schier unlösbaren Aufgabe einen Registry-Zweig (Key) umzubenennen?
also z.B. von \Software\MyCompany\MyProg\
nach \Software\MyCompany\MyNewProgName\
Irgendwie will es nicht. Und Delphi stellt in der Registry-Unit dafür ja auch nix spezielles zur Verfügung... (Außer RenameValue, aber wie der Name schon sagt....) ??
Ideen?
mb - Mo 26.01.04 23:08
Ok, danke... Das ist natürlich eine Lösung. (Auch wenn ich mich Frage, warum die Jungs von M$ so eine Funktion entweder nicht implementieren oder nicht dokumentieren -- das könnte einen ja beinahe ärgern :evil: )
mb - Di 27.01.04 00:04
Ok.... Hihi... :-)
Ich hab's.
Also M$ scheint wirklich nix an Funktion zu haben, zumindest weiß auch Borland nichts davon. Aber - warum hab ich sie nur vorher nicht entdeckt - Borland liefert in der Unit Registry die folgende Funktion, die im Grunde ähnlich wie im Tutorial arbeitet:
(nur hat man es mit der etwas leichter *g*)
Delphi-Quelltext
1:
| procedure MoveKey(const OldName, NewName: String; Delete: Boolean); |
Delete gibt dann - wie man leicht vermutet - an, ob ein Copy- oder ein Move-Vorgang ausgeführt werden soll...
Also:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var Reg: TRegístry; begin Reg := TRegistry.Create; try Reg.MoveKey('Software\MyCompany\Proxxxx', '\Software\MyCompany\MyProg\', True); finally Reg.Free; end; end; |
Delete - Di 27.01.04 09:30
@mb: Das PSDK erwähnt die Funktion SHCopyKey, die allerdings laut Anforderungen min. den IE5 voraussetzt. Also habe ich (wie Luckie schon ansprach) mehr oder weniger das gleiche machen müssen wie Borland: die Schlüssel der Reihe nach ermitteln und samt Werten kopieren. ;)
Das Problem bei dem von Luckie erwähnten Tutorial ist eben, dass wir dort ja alles via API machen. Und wenn du mal an die Leute denkst, die ein nonVCL-Tool schreiben (wollen), dann wollen die ja wissen, welche Funktionen man auf der API-Seite für die Registry hat. :)
mb - Di 27.01.04 17:02
| MathiasSimmack hat folgendes geschrieben: |
| Das Problem bei dem von Luckie erwähnten Tutorial ist eben, dass wir dort ja alles via API machen. Und wenn du mal an die Leute denkst, die ein nonVCL-Tool schreiben (wollen), dann wollen die ja wissen, welche Funktionen man auf der API-Seite für die Registry hat. |
Das ist schon klar ;-) Ich schreibe selbst teilweise soche Dinger. Aber in diesem Fall ging es mir gauptsächlich erst mal um ne Lösung. Und ich dachte erst, es müsse eine API-Funktion dafür geben ...
Nun ja, ist ja gelöst! :-)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!