AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Registry auslesen funktioniert nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Registry auslesen funktioniert nicht

Offene Frage von "Sir Rufo"
Ein Thema von Vielleichtmann · begonnen am 17. Mär 2013 · letzter Beitrag vom 19. Mär 2013
Antwort Antwort
Seite 1 von 2  1 2      
Vielleichtmann

Registriert seit: 4. Feb 2013
8 Beiträge
 
FreePascal / Lazarus
 
#1

Registry auslesen funktioniert nicht

  Alt 17. Mär 2013, 17:05
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:
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;
Dankeschön :-)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: Registry auslesen funktioniert nicht

  Alt 17. Mär 2013, 17:13
Darfst Du das denn (Rechtemäßig)?
  Mit Zitat antworten Zitat
Vielleichtmann

Registriert seit: 4. Feb 2013
8 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Registry auslesen funktioniert nicht

  Alt 17. Mär 2013, 17:14
Darfst Du das denn (Rechtemäßig)?
Ich denke schon, dass ich meine eigene Registry auslesen darf oder? Ich denke für private Nutzung sollte das kein Problem sein.

Edit: Außerdem geht es später darum, die installierten Programme anzuzeigen und das sollte wirklich in Ordnung sein :D

Geändert von Vielleichtmann (17. Mär 2013 um 17:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#4

AW: Registry auslesen funktioniert nicht

  Alt 17. Mär 2013, 17:24
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
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

AW: Registry auslesen funktioniert nicht

  Alt 17. Mär 2013, 17:25
Ich denke schon, dass ich meine eigene Registry auslesen darf oder? Ich denke für private Nutzung sollte das kein Problem sein.
Edit: Außerdem geht es später darum, die installierten Programme anzuzeigen und das sollte wirklich in Ordnung sein
Das war nicht der Sinn der Frage
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: http://docwiki.embarcadero.com/Libra...penKeyReadOnly
  Mit Zitat antworten Zitat
Vielleichtmann

Registriert seit: 4. Feb 2013
8 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Registry auslesen funktioniert nicht

  Alt 17. Mär 2013, 17:34
Das war nicht der Sinn der Frage
Ach soll mir doch einer sagen, dass er Windows-Rechte meinte
Mit OpenKeyReadOnly bekomme ich allerdings auch kein Ergebnis, ich kriege nur ein false zurück.

Geändert von Vielleichtmann (17. Mär 2013 um 17:37 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Registry auslesen funktioniert nicht

  Alt 17. Mär 2013, 18:03
Wenn ich die Hilfe richtig verstanden habe, dann geht OpenKeyReadOnly erst mit vollen Rechten in den Schlüssel und schaltet dann wieder einen Gang auf KEY_READ herunter.

Wenn das Programm nicht mit Administratorrechten läuft würde ich besser erst die .Access-Property setzen und dann in die Registry tauchen.

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...
  Mit Zitat antworten Zitat
Vielleichtmann

Registriert seit: 4. Feb 2013
8 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Registry auslesen funktioniert nicht

  Alt 17. Mär 2013, 18:10
Wenn das Programm nicht mit Administratorrechten läuft
Wobei mich dabei irritiert, dass das Programm auch dann nicht richtig läuft, wenn ich es als Administrator starte, obwohl die Rechte dann ja eigentlich kein Problem mehr sein dürften.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Registry auslesen funktioniert nicht

  Alt 17. Mär 2013, 18:31
Wenn das Programm nicht mit Administratorrechten läuft
Wobei mich dabei irritiert, dass das Programm auch dann nicht richtig läuft, wenn ich es als Administrator starte, obwohl die Rechte dann ja eigentlich kein Problem mehr sein dürften.
Ab Win7 reicht nicht als sondern mit Adminrechten starten
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Vielleichtmann

Registriert seit: 4. Feb 2013
8 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Registry auslesen funktioniert nicht

  Alt 17. Mär 2013, 19:42

Ab Win7 reicht nicht als sondern mit Adminrechten starten
Funktioniert auch mit Adminrechten nicht
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr.
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