![]() |
Registry Wert automatisch anlegen
Hallo liebes Forum,
ich hab nochmal eine Frage zum schreiben der Registry, ich habe mir hier eine Funktion zusammengeschrieben die ohne Probleme die Regitry verändern kann.
Delphi-Quellcode:
Jetzt möchte ich den Taskmanager für eine bestimmt Zeit in der Registry sperren. Bei PCs wo der Wert DisableTaskmgr schon angelegt ist, funktioniert das mit dem Aufruf
procedure TForm1.RegistryWrite(path: string; objekt: String; value: Integer);
var reg : TRegistry; begin reg := TRegistry.Create; try reg.RootKey := HKEY_CURRENT_USER; possible if reg.OpenKey(path ,true) then try reg.WriteInteger(objekt ,value); finally reg.CloseKey; end; finally reg.Free; end; end;
Delphi-Quellcode:
wunderbar.
RegistryWrite('Software\Microsoft\Windows\CurrentVersion\Policies\System', 'DisableTaskMgr', 1);
Bei PCs bei den der Wert DisableTaskmgr noch nicht angeleget ist funktioniert das ganze nicht. Wie bekomme ich es hin, dass er den Wert automatisch anlegt, wenn er noch nicht vorhanden ist? In der procedure selbst sind die Boolean ja schon auf true gesetzt und etwas anderes finde ich bei Google leider nicht. Vielleicht hat jemand von euch eine Idee? Gruß |
AW: Registry Wert automatisch anlegen
Auf den Policies Eintrag haben in der Regel nur Admins Zugriff - auch in HKCU.
|
AW: Registry Wert automatisch anlegen
Okay. Aber wieso funktioniert das ganze ohne Probleme solange der Wert angelegt ist?
|
AW: Registry Wert automatisch anlegen
Was heißt, "es funktioniert, solange der Wert angelegt ist"? Sind die Daten des Werts bereits 1? Dann muss nichts weiter geschrieben werden. Und wie schon im anderen Thread beschrieben, solltest du dir die Zugriffsrechte des Zweigs mal genauer anschauen, denn dann klärt sich auch ganz schnell, ob das Schreiben überhaupt erfolgreich sein kann.
Grüße Dalai |
AW: Registry Wert automatisch anlegen
Zitat:
Ich verstehe schon was ihr meint. Ich frag mich nur warum das ganze alles perfekt funktioniert wenn der Wert bereits besteht... |
AW: Registry Wert automatisch anlegen
Ich kann's nur nochmal wiederholen: Schau dir die Zugriffsrechte des Zweigs an. In Verbindung mit den Rechten, mit denen dein dort schreibendes Programm läuft, definiert sich, ob Werte erfolgreich gesetzt oder gelöscht werden können.
Grüße Dalai |
AW: Registry Wert automatisch anlegen
Ok vielen Dank erstmal ich werde nochmal schauen...
Gibt es in Delphi eine Möglichkeit ein Programm als Admin zu starten um den ganzen Mist zu umgehen? Gruß |
AW: Registry Wert automatisch anlegen
Zitat:
Ein abgespeichertes ![]()
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.1.1.1" processorArchitecture="X86" name="Company.Exename" type="Win32"/> <description>My App Description</description> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> <!-- Windows 10 --> <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> <!-- Windows 8.1 --> <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> <!-- Windows Vista --> <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> <!-- Windows 7 --> <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> <!-- Windows 8 --> <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> </application> </compatibility> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> </dependentAssembly> </dependency> </assembly> |
AW: Registry Wert automatisch anlegen
Reicht es nicht aus in den Projektoptionen einzustellen, dass das Programm mit Administratorrechten starten soll?
|
AW: Registry Wert automatisch anlegen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 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