![]() |
Registry auslesen funktioniert nicht
Hallo,
ich habe auch schon drüben im Lazarusforum gefragt, aber doppelt hält ja besser :-) Ich glaube, ich stehe gerade irgendwie auf dem Schlauch. Warum funktioniert diese Methode nicht, die Registry auszulesen. Ich möchte testweise den Wert von "HKEY_LOCAL_MACHINE\SOFTWARE\Lazarus\Capabilities\ ApplicationName" auslesen, dieser müsste eigentlich "Lazarus IDE" sein, aber wenn ich den Code ausführe, bekomme ich einen leeren Wert zurück. Woran könnte das liegen?
Delphi-Quellcode:
Dankeschön :-)
procedure TForm1.RegistryAuslesen;
var Registry: TRegistry; Test: string; begin Registry:=TRegistry.Create; {Testweise auslesen von HKEY_LOCAL_MACHINE\SOFTWARE\Lazarus\Capabilities\ApplicationName} Registry.RootKey:=HKEY_LOCAL_MACHINE; Registry.OpenKey('SOFTWARE\Lazarus\Capabilities', true); Test:=Registry.ReadString('ApplicationName'); ShowMessage(Test); {"Schließen" der Registry} Registry.CloseKey; Registry.free; end; |
AW: Registry auslesen funktioniert nicht
Darfst Du das denn (Rechtemäßig)?
|
AW: Registry auslesen funktioniert nicht
Zitat:
Edit: Außerdem geht es später darum, die installierten Programme anzuzeigen und das sollte wirklich in Ordnung sein :D |
AW: Registry auslesen funktioniert nicht
Die Methode TRegistry.OpenKey öffnet einen Schlüssel immer mit Schreibrechten, sofern man dem nicht vorbeugt. In HKLM dürfen nur Admins schreiben und daraus ergibt sich, dass Furtbichler wohl richtig liegt.
MfG Dalai |
AW: Registry auslesen funktioniert nicht
Zitat:
Aber wenn man das Programm normal startet, dann hat es in dem HKLM Zweig nur Leserechte und keine Schreibrechte. Dein Code versucht aber, mit Schreibrechten auf die Registry zuzugreifen. Schau mal was es da noch so gibt: ![]() |
AW: Registry auslesen funktioniert nicht
Zitat:
Mit OpenKeyReadOnly bekomme ich allerdings auch kein Ergebnis, ich kriege nur ein false zurück. |
AW: Registry auslesen funktioniert nicht
Wenn ich die Hilfe richtig verstanden habe, dann geht
Delphi-Quellcode:
erst mit vollen Rechten in den Schlüssel und schaltet dann wieder einen Gang auf
OpenKeyReadOnly
Delphi-Quellcode:
herunter.
KEY_READ
Wenn das Programm nicht mit Administratorrechten läuft würde ich besser erst die . ![]() Wenn ich mich richtig erinnere kann man als Standardbenutzer schon etwas in HKLM herumwühlen, aber manche Order/Schlüssel sind absolut tabu, da darf auch nicht mehr gelesen werden... |
AW: Registry auslesen funktioniert nicht
Zitat:
|
AW: Registry auslesen funktioniert nicht
Zitat:
|
AW: Registry auslesen funktioniert nicht
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:44 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