![]() |
Registry key lesen
Hallo,
ich verwende folgenden Code um den Winlogon aus der Registry zu lesen. Das geht auch solange wie ich lokal oder als admin angemeldet bin, als normaler User gehts nicht warum? Gibt es eine andere Möglichkeit?
Delphi-Quellcode:
Martinuses Registry; procedure TForm1.Button1Click(Sender: TObject); begin with TRegistry.Create do begin RootKey := HKEY_LOCAL_MACHINE; OpenKey( 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', False ); ShowMessage(ReadString('DefaultDomainName')); end; end; |
Re: Registry key lesen
hi,
dass ein normaler user keine registryeinträge lesen/ändern kann liegt (wahrscheinlich) in der gruppenrichtlinie begründet. gpedit.msc > Benutzerkonfiguration > Administrative Vorlagen > System > "Programme zum Bearbeiten der Registrierung deaktivieren" (win2000) / "Zugriff auf Programme zur Bearbeitung der Registrierung verhindern" (xp) o.ä. wie das bei vista bearbeitet werden kann weiß ich leider nicht sicher :S mfg /edit: bei vista gehts per regedit > Bearbeiten > Berechtigungen |
Re: Registry key lesen
Zitat:
Erst einmal: die OpenKey-Methode gibt dir ein boolean zurück um anzuzeigen, dass der Aufruf erfolgreich war. Dieses Ergebis wertest du nicht aus! (der Rückgabewert wird nicht ohne Grund geliefert! :wink: ) Zu deinem Problem: Delphi (bzw. die Unit "Registry") fordert beim öffnen eines Registry Keys normalerweise volle Rechte an (also auch Schreibrechte). Um das zu verhindern kann man das Property "Access := KEY_READ" setzen. Also so:
Delphi-Quellcode:
Dann klappt das Lesen auch als normaler Benutzer (aber man kann keine schreibenden Funktionen mehr verwenden!!!)
procedure TForm1.Button_1Click(Sender: TObject);
begin with TRegistry.Create do begin RootKey := HKEY_LOCAL_MACHINE; Access := KEY_READ; if OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', False) then ShowMessage(ReadString('DefaultDomainName')) else ShowMessage('Ooops...') end; end; Ciao, Ralf |
Re: Registry key lesen
Zitat:
|
Re: Registry key lesen
Oder OpenKeyReadOnly verwenden. Siehe Delphi-Hilfe.
|
Re: Registry key lesen
Zitat:
|
Re: Registry key lesen
Hallo,
zum Thema "Konstruktor" fällt mir immer "Destruktor" ein... Gruß Hawkeye |
Re: Registry key lesen
Zitat:
|
Re: Registry key lesen
Super, vielen Dank für die Antworten!
Martin |
Re: Registry key lesen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 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