AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Registry Wert automatisch anlegen

Ein Thema von lukdelphias · begonnen am 29. Jul 2020 · letzter Beitrag vom 29. Jul 2020
Antwort Antwort
Seite 1 von 2  1 2      
lukdelphias

Registriert seit: 23. Jun 2020
50 Beiträge
 
Delphi 10.3 Rio
 
#1

Registry Wert automatisch anlegen

  Alt 29. Jul 2020, 09:16
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:
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;
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 RegistryWrite('Software\Microsoft\Windows\CurrentVersion\Policies\System', 'DisableTaskMgr', 1); wunderbar.
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ß
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#2

AW: Registry Wert automatisch anlegen

  Alt 29. Jul 2020, 09:20
Auf den Policies Eintrag haben in der Regel nur Admins Zugriff - auch in HKCU.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
lukdelphias

Registriert seit: 23. Jun 2020
50 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Registry Wert automatisch anlegen

  Alt 29. Jul 2020, 09:21
Okay. Aber wieso funktioniert das ganze ohne Probleme solange der Wert angelegt ist?
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

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

AW: Registry Wert automatisch anlegen

  Alt 29. Jul 2020, 09:26
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
  Mit Zitat antworten Zitat
lukdelphias

Registriert seit: 23. Jun 2020
50 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Registry Wert automatisch anlegen

  Alt 29. Jul 2020, 09:32
Was heißt, "es funktioniert, solange der Wert angelegt ist"? Sind die Daten des Werts bereits 1? Dann muss nichts weiter geschrieben werden.
Grüße
Dalai
Nein sobald der Wert angelegt ist kann ich jedenbeliebigen Wert in der Registry schreiben. Egal ob 0 oder 1 oder 982723.
Ich verstehe schon was ihr meint. Ich frag mich nur warum das ganze alles perfekt funktioniert wenn der Wert bereits besteht...
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

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

AW: Registry Wert automatisch anlegen

  Alt 29. Jul 2020, 09:45
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
  Mit Zitat antworten Zitat
lukdelphias

Registriert seit: 23. Jun 2020
50 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Registry Wert automatisch anlegen

  Alt 29. Jul 2020, 09:48
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ß
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Registry Wert automatisch anlegen

  Alt 29. Jul 2020, 09:56
Gibt es in Delphi eine Möglichkeit ein Programm als Admin zu starten
per Manifest in Resource der .exe Datei.

Ein abgespeichertes Manifest.

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>
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#9

AW: Registry Wert automatisch anlegen

  Alt 29. Jul 2020, 10:08
Reicht es nicht aus in den Projektoptionen einzustellen, dass das Programm mit Administratorrechten starten soll?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Registry Wert automatisch anlegen

  Alt 29. Jul 2020, 10:11
Reicht es nicht aus in den Projektoptionen einzustellen, dass das Programm mit Administratorrechten starten soll?
Klar, das diente nur der Veranschaulichung was Delphi im Endeffekt mit dieser Option anstellt.
Gruß vom KodeZwerg
  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 07:42 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