![]() |
DWORD in Registry schreiben
Hallo liebesForum,
ich habe voreinen Wert der Registry zu ändern. Nach stundenlanger Probiererei gebe ich nun auf. Ich weiß nicht mehr weiter. Ich bekomme es einfach nicht hin das der Registryeintrag geändert wird. Debuggen lässt sich das Programm ohne Probleme, spuckt keine Fehlermeldungen aus usw. Hier der Code dazu:
Delphi-Quellcode:
Hat jemand eine Idee warum es nicht schreibt?
unit Unit1;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Registry; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var reg : TRegistry; begin reg := TRegistry.Create; try reg.RootKey := HKEY_CURRENT_USER; if reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\System',true) then try reg.WriteInteger('DisableTaskMgr',1); finally reg.CloseKey; end; finally reg.Free; end; end; end. MfG |
AW: DWORD in Registry schreiben
Vermutlich hast du keine Schreibrechte in dem Zweig (Policies). Prüf das doch einfach mal mit RegEdit nach.
|
AW: DWORD in Registry schreiben
Zitat:
Bei fehlenden rechten kommt eingentlich eine Fehlermeldung, aber eventuell landet dein Wert im VirtualStore, welchen es hier auch gibt, ebenso wie im Dateisystem. ![]() ![]() |
AW: DWORD in Registry schreiben
Auch wenn der Policies-Zweig im HKCU steht, haben Nutzer dort - aus gutem Grund - keine Schreibrechte. In diesem Zweig dürfen nur Administratoren und SYSTEM schreiben. Willst du das mit deinem Delphi-Programm machen, musst du (bei aktivierter UAC) höhere Rechte bzw. Adminrechte anfordern.
Grüße Dalai |
AW: DWORD in Registry schreiben
Guten Morgen,
Danke für die Antworten. Rechte dort zu schreiben habe ich. Über regedit und andere Möglichkeiten geprüft. Das Problem hat sich aber jetzt sowieso geklärt löse das ganze jetzt anders. Danke trotzdem für die Hilfe. Gruß |
AW: DWORD in Registry schreiben
Zitat:
Mit welchen "anderen Möglichkeiten" hast du denn geprüft, ob Schreibrechte vorhanden sind? Zitat:
Grüße Dalai |
AW: DWORD in Registry schreiben
Zitat:
|
AW: DWORD in Registry schreiben
Die Anwendung hat die Rechte dort zu schreiben.
Gelöst habe ich es jetzt über eine andere Funktion für das schreiben der Registry hier aus dem Forum. Diese Methode funktionierte komischerweise ohne Probleme. Grüße |
AW: DWORD in Registry schreiben
Zitat:
Nur um das nochmal klarzumachen: Ohne Manifest mit Abschnitt trustInfo/requestedExecutionLevel (mit passendem Wert) fordert kein Programm höhere Rechte an, mal von Ausnahmen wie Dateinamen und/oder Versionsinformationen mit bestimmten Schlüsselwörtern abgesehen. Höhere Rechte sind aber zum Schreiben in diesem Zweig erforderlich. Zitat:
Grüße Dalai |
AW: DWORD in Registry schreiben
![]() diese Funktion von ArmyMan funktioniert bei meinem Programm sehr gut:thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 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 by Thomas Breitkreuz