![]() |
Registry Problem
Hallo. Ich hab ein kleines Prog gemacht dass sich in den Autostart installieren soll. Allerdings klappt das komischerweise nicht.
Code:
Es kommt kein Fehler und es wird kein key erstellt. Bei nem Freund hats geklappt.
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run', True); If not (Reg.ValueExists('progname')) then Reg.WriteString('progname',(getsystemdir + '\progname.exe')); Reg.Free; Das komische ist aber auch, das ich dort wenn ich über regedit in die registry reingehe, dann dort einen neuen key erstelle, dass dieser zwar erstellt wird, aber wenn ich den namen ändern will bzw in löschen will, dann kommt der fehler "Nicht alle werte können gelöscht werden" oder "Fehler beim umbenennen des eintrags". Wie kommt das? |
Re: Registry Problem
Der Zugriff auf HKEY_LOCAL_MACHINE hängt von den Benutzerrechten ab!!
Nur der Administrator (und Kollegen) darf uneingeschränkt dort schreiben. Mit dem Programm regedt32.exe kannst du die Berechtigungen einsehen (und evtl. ändern). |
Re: Registry Problem
Zitat:
|
Re: Registry Problem
Ich bin aber der einzige Benutzer auf dem pc und auch admin
|
Re: Registry Problem
Das ist schlecht. Dann hat nämlich jede Malware gleich Administrator Rechte.
|
Re: Registry Problem
Trotzdem kommt mir das komisch vor:
Zitat:
|
Re: Registry Problem
Wenn du schon eine if Abfrage machst, warum wertest du den Rüclgabe wert nicht aus mit GetLastError. Und OpenKey ist auch eine Funktion, deren Rückgabewert man überpüfen kann.
|
Re: Registry Problem
Und gar kein Kommentar wg. try/finally/end? :shock:
|
Re: Registry Problem
Das habe ich mittlerweile aufgegeben. ;)
|
Re: Registry Problem
Mathias ich versteh nicht was du meinst.
Und das try finally... mmh... vergessen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 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