![]() |
Problem mit Registry
Hallo,
ich fange gerade erst mir der Registry an. Nun bekomme ich die Meldung, dass er die Daten für Test01 nicht setzen konnte.
Delphi-Quellcode:
Waron liegt das ??? Der Ordner 'Test' ist auch nicht unter HLEY_LOCAL_MACHINE vorhanden.
procedure TForm1.Button1Click(Sender: TObject);
var Reg: TRegistry; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('test', true); Reg.createkey('test01'); end; Hab die Suche schon benutzt. Konnte mein Problem nicht lösen oder ich hab was übersehen. |
Re: Problem mit Registry
Da der Quellcode an sich nicht falsch ist (syntaktisch, meine ich - von der Umsetzung ist er katastrophal), vermute ich, dass dir die Rechte zum Schreiben in HKLM fehlen.
Passiert bei Windows NT, 2000 und XP recht häufig. Aber das wurde durchaus schon mehrfach angesprochen. Wird nur gern überlesen. :roll: |
Re: Problem mit Registry
Ohh....stimmt.
Mit Adminrechten gehts :oops: Habs wohl wirklich überlesen :roll: Danke :D |
Re: Problem mit Registry
Und was sagt uns das? Nicht in HKLM schreiben, wenn es nicht unbedingt nötig ist.
|
Re: Problem mit Registry
Zitat:
|
Re: Problem mit Registry
das du lieber darein schreiben sollst wo es jeder user (HKCU) nutzen kann ob admin oder nicht
|
Re: Problem mit Registry
Achsoooooo :mrgreen: :mrgreen:
|
Re: Problem mit Registry
Was Matthias angesprochen hat, war die Art deines Aufbaus.
Du wirst sicherlich bei der Suche auf Sources gestoßen sein, die try...finally-Blöcke verwenden. Diese zu Verwenden ist zu empfehlen. Wo zu setzen und was sie bringen erfährst du in der DP und in der OH. Chris |
Re: Problem mit Registry
Ich hab nochmal eine Frage:
Ich möchte jetzt eine Schlüssel löschen. Ich habs mit 'DeleteKey' versucht, aber irgendwie löscht der den Schlüssel nicht.
Delphi-Quellcode:
begin
reg := tregistry.create; reg.rootkey := hkey_local_machine; reg.openkey('SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer',false); reg.deletekey('AlwaysUnloadDLL'); reg.closekey; reg.free; end; |
Re: Problem mit Registry
Mit delete geht es auf jedenfall nicht. Du brauchst für DeleteKey Schreibrechte in der Registry.
Ansonsten kann das gar nicht gehen. Chris |
Re: Problem mit Registry
Ohh...da hab ich mich vertippt. Hab auch deletekey im Programm stehen. Ich hab auch Schreibrechte (hab den Key ja selbst erstellt). Mit 'DeleteKey' klappt das aber irgendwie nicht :(
|
Re: Problem mit Registry
Zitat:
...:cat:... |
Re: Problem mit Registry
Moin Florian,
irgendwie klingt das was Du löschen willst allerdings nach einem Valuenamen und nicht nach einem Key. Klappt es so:
Delphi-Quellcode:
:?:
begin
reg := tregistry.create; try reg.rootkey := hkey_local_machine; if reg.openkey('SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer',false) then begin try reg.deletevalue('AlwaysUnloadDLL'); finally reg.closekey; end; end; finally reg.free; end; end; |
Re: Problem mit Registry
@Christian: Ist schon ein Key ;-) Ich habe den auch :-D
...:cat:... |
Re: Problem mit Registry
Moin sakura,
na gut, überredet ;-) (bei mir gibt's den Key übrigens nicht) @Florian: Dann probier mal, ob das System einen Fehler meldet, nachdem Reg.DeleteKey abgearbeitet wurde, z.B. so:
Delphi-Quellcode:
Vielleicht ergibt das ja eine aussagekräftige Fehlermeldung.
if not reg.deletekey('AlwaysUnloadDLL') then begin
ShowMessage(SysErrorMessage(GetLastError)); end; |
Re: Problem mit Registry
Also da kommt: Das Fenster hat keine Bildlaufseiten :|
|
Re: Problem mit Registry
Mit 'DeleteValue' hats doch geklappt.
Danke an alle !!! |
Re: Problem mit Registry
Jetzt muss ich euch doch nochmal nerven. :angle2:
Ich möchte überprüfen, ob 'AlwaysUnloadDLL' vorhanden ist. Wie stelle ich das an ??? |
Re: Problem mit Registry
ValueExists :roll:
Chris |
Re: Problem mit Registry
Also ich würd in Sachen Registry wenn möglich HKEY_CURRENT_USER nehmen...da kann man auch ohne Adminrechte normal mit schreibrechten drauf!
|
Re: Problem mit Registry
@CrashMan: sag das den Leuten von Microsoft. Dieser Eintrag ist Windowseigen. Sicherlich kennst du das Programm XP AntiSpy. Darin kann dieser Eintrag auch modifiziert werden.
Aber an sich hast du Recht. Chris |
Re: Problem mit Registry
@ Chakotay1308
Danke, hat wunderbar geklappt. @ CrashMan Ich muss ja in HKLC schreiben. Ich muss ja Schlüssel wie Large SystemCache, waittokillservicetimeout oder NtfsMftZoneReservation bearbeiten :wink: |
Re: Problem mit Registry
Moin Flo,
Zitat:
Ich hab' mal im MSDN nach AlwaysUnloadDLL gesucht, und demnach handelt es sich um einen Key. |
Re: Problem mit Registry
Stimmt. Ich habe gerade in der Registry nachgeguckt. Eigentlich kann es also gar nicht funktionieren... :roll:
Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz