Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Registry Problem (https://www.delphipraxis.net/38949-registry-problem.html)

Rastaman 26. Jan 2005 16:40


Registry Problem
 
Hallo. Ich hab ein kleines Prog gemacht dass sich in den Autostart installieren soll. Allerdings klappt das komischerweise nicht.

Code:
  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;
Es kommt kein Fehler und es wird kein key erstellt. Bei nem Freund hats geklappt.
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?

shmia 26. Jan 2005 17:04

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).

Luckie 26. Jan 2005 17:07

Re: Registry Problem
 
Zitat:

Zitat von shmia
Mit dem Programm regedt32.exe kannst du die Berechtigungen einsehen (und evtl. ändern).

Was aber nicht zu empfehlen ist, da sich dann jede Malware in den Autostart eintragen kann.

Rastaman 26. Jan 2005 17:18

Re: Registry Problem
 
Ich bin aber der einzige Benutzer auf dem pc und auch admin

Luckie 26. Jan 2005 17:19

Re: Registry Problem
 
Das ist schlecht. Dann hat nämlich jede Malware gleich Administrator Rechte.

MathiasSimmack 26. Jan 2005 17:20

Re: Registry Problem
 
Trotzdem kommt mir das komisch vor:
Zitat:

Zitat von Gerrit89
Code:
  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;

Nicht nur, dass in HKLM reinschreiben willst, dein Programm liegt offenbar auch noch im Systemordner von Windows. Schlechter Stil, wenn du mich fragst. :?

Luckie 26. Jan 2005 17:21

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.

MathiasSimmack 26. Jan 2005 17:24

Re: Registry Problem
 
Und gar kein Kommentar wg. try/finally/end? :shock:

Luckie 26. Jan 2005 17:29

Re: Registry Problem
 
Das habe ich mittlerweile aufgegeben. ;)

Rastaman 26. Jan 2005 17:56

Re: Registry Problem
 
Mathias ich versteh nicht was du meinst.
Und das try finally... mmh... vergessen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz