![]() |
TRegistry unter 12.3
Hallo,
habe seit langer Zeit eine kleine Funktion in Verwendung, um einen Registry-Eintrag zu prüfen. Es scheint nun, dass die (unter 12.3??) nicht mehr funktioniert oder sie funktioniert schon länger nicht und mir ist es nicht aufgefallen.
Delphi-Quellcode:
Den Key gibt es natürlich, bloß beim Einlesen des Strings kommt ein leerer String zurück. Ich komm nicht dahinter, was da schief läuft, hoffe, ich sitze da keiner Trivialität auf.
const
VKey = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\'; VKeyStr = 'RegisteredOrganization'; var Reg : TRegistry; KeyString : string; begin Reg := TRegistry.Create(KEY_READ); Try Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKeyReadOnly(VKey); KeyString := Reg.ReadString(VKeyStr); Reg.CloseKey; Finally Reg.Free; End; end; Danke! |
AW: TRegistry unter 12.3
Hat der Benutzer das Recht auf HKLM?
|
AW: TRegistry unter 12.3
Zitat:
|
AW: TRegistry unter 12.3
Du solltest unbedingt den Rückgabewert von OpenKeyReadOnly prüfen. Das würde schon einen Hinweis auf die Ursache geben.
Als weitere Ursache kommt noch WOW64 in Frage. Füge doch mal das KEY_WOW64_64KEY oder KEY_WOW64_32KEY zu dem KEY_READ hinzu und schau ob das einen Unterschied macht. |
AW: TRegistry unter 12.3
Zitat:
Das sieht nun also so aus und klappt:
Delphi-Quellcode:
Danke Euch!!
var
Reg : TRegistry; KeyString : string; begin Reg := TRegistry.Create(KEY_WOW64_64KEY); Try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKeyReadOnly(VKey) then KeyString := Reg.ReadString(VKeyStr); Reg.CloseKey; Finally Reg.Free; End; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 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