bekomme mit Delphi keine Werte in die Registry !
Als Test sollte zu jedem Extension-Eintrag mit
"PersistentHandler" der dort hinterlegte Wert in
einem neuen Schlüssel "default" gesichert werden.
Den Schlüssel selber kann ich noch anlegen,
aber beim Schreiben des Wertes gibt's immer
eine ERegistryException "failed to set data for ..." !?
(sollte ja normalerweise auch ohne die beiden OpenKey
und CloseKey gehen ... habe aber in meiner Not schon alles probiert).
Im Netz gab's diverse Hinweise auf fehlende Rechte (aber keine Lösung - ausserdem habe ich Admin-Rechte) !
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| begin listbox1.Items.Clear; Reg := TRegistry.Create; Reg.RootKey := HKEY_CLASSES_ROOT; Reg.OpenKeyReadOnly('\'); Reg.GetKeyNames(listbox1.Items); for I := 0 to ListBox1.Items.Count - 1 do if Reg.KeyExists('\' + ListBox1.Items[I] + '\PersistentHandler') then begin Reg.OpenKey('\' + ListBox1.Items[I] + '\PersistentHandler', false); Wert := Reg.ReadString(''); ListBox1.Items[I] := ListBox1.Items[I] + Wert; Reg.CreateKey('default'); Reg.OpenKey('default',false); Reg.WriteString('default',Wert); Reg.CloseKey; end; Reg.Free; end; |
P.S.:
Tests liefen bisher unter XP Prof. !
Moderiert von
UGrohne: Delphi-Tags hinzugefügt.