Entwickler-Ecke
Windows API - Exception beim Schreiben in Registry
Kanne - Mo 06.09.04 21:34
Titel: Exception beim Schreiben in Registry
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.
matze - Di 07.09.04 11:49
du hast warscheinlich in dem teil der reg keine schreibberechtigung !
Delete - Di 07.09.04 16:24
Als Admin hat man dort welche.
Kanne - Mi 08.09.04 00:08
hm ... dafür muss es aber doch eine Lösung geben.
Ich kann ja auch den RegEdit aufrufen und die Änderungen manuell machen - nur will ich das eben per Programm ! :cry:
Michael Stenzel - Mi 08.09.04 01:17
Hallo Kanne!
In deinem Source steht
Delphi-Quelltext
1:
| Reg.OpenKeyReadOnly('\'); |
Versuche doch mal nur
Ich vermute mal, daß im Reg-Object das Flag für ReadOnly nicht durch den nochmaligen Aufruf von OpenKey gelöscht wird.
gruß
Michael.
Kanne - Do 09.09.04 00:19
:D unglaublich ... aber wahr !
Jetzt geht's ... der Sinn bleibt fraglich :?:
thx a lot & mercy cheri
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!