AGB  ·  Datenschutz  ·  Impressum  







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

Registry Key löschen

Ein Thema von DarkProtector · begonnen am 19. Apr 2010 · letzter Beitrag vom 20. Apr 2010
Antwort Antwort
Seite 1 von 3  1 23      
DarkProtector

Registriert seit: 19. Apr 2010
9 Beiträge
 
#1

Registry Key löschen

  Alt 19. Apr 2010, 17:15
Hallo,

ich bin neu hier und wollte eben mal einen Registry Key löschen:
Delphi-Quellcode:
procedure TForm1.UnlockClick(Sender: TObject);

var reg:TRegistry;

begin
reg:=TRegistry.Create;
memo1.Lines.Text:=memo1.Lines.Text+'->Entferne Registry Schreibschutz';
try
   reg.RootKey:=HKEY_CURRENT_USER;
   reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\System', false);
   reg.DeleteKey('DisableRegistryTools');
   reg.CloseKey;
finally
   reg.Free;
   memo1.Lines.Text:=memo1.Lines.Text+'...Done'#13;
end;
Das habe ich bis jetzt, passieren tut nichts. Wäre nett wenn ihr mir helfen könnt .
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Registry Key löschen

  Alt 19. Apr 2010, 17:25
OpenKey und DeleteKey sind sicher Funktionen. Bei OpenKey bin ich mir ganz sicher. Werte am besten aus ob die Funktionsaufrufe auch erfolgreich waren. Wenn OpenKey fehlschlägt ist es arg fahrlässig ein DeleteKey aufzurufen. Denn mit etwas Pech existiert ein key gleichen Namens auch in der Ebene in der du dich vor OpenKey befindest und dann würde dort gelöscht werden.
Zudem bin ich mir auch nicht ganz sicher ob ein OpenKey überhaupt notwendig ist oder ob man bei DeleteKey nicht gleich den vollständigen Pfad angeben kann.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
DarkProtector

Registriert seit: 19. Apr 2010
9 Beiträge
 
#3

Re: Registry Key löschen

  Alt 19. Apr 2010, 17:40
Ok habe nun meinen Quelltext etwas angepasst, funktionieren tut es trotzdem noch nicht.

Delphi-Quellcode:
procedure TForm1.UnlockClick(Sender: TObject);

var reg:TRegistry;

begin
reg:=TRegistry.Create;
memo1.Lines.Text:=memo1.Lines.Text+'->Entferne Registry Schreibschutz';
try
   reg.RootKey:=HKEY_CURRENT_USER;
   reg.DeleteKey('Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools');
   reg.CloseKey;
finally
   reg.Free;
   memo1.Lines.Text:=memo1.Lines.Text+'...Done'#13;
end;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Registry Key löschen

  Alt 19. Apr 2010, 17:42
Hast du denn in der Hilfe mal geschaut ob der absolute Pfad erlaubt ist? Den Rückgabewert der Funktionen prüfst du übrigens immer noch nicht. Wenn du deine ursprüngliche Variante mal probierst und dort die Rückgabewerte auswertest, findest du vielleicht auch raus ob der Pfad nicht gefunden wird oder wirklich nur das löschen fehl schlegt. Aber wie gesagt. Dafür sind Funktionen eben Funktionen - weil sie etwas zurück geben was man auswerten kann.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
DarkProtector

Registriert seit: 19. Apr 2010
9 Beiträge
 
#5

Re: Registry Key löschen

  Alt 19. Apr 2010, 17:44
Danke schon mal schaue mir das ganze nochmal in eurer Datenbank an.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Registry Key löschen

  Alt 19. Apr 2010, 17:49
da gibt es eigentlich nicht viel anzusehen:
Delphi-Quellcode:
if openkey(...) then
begin
  [...]
end
else
  ShowMessage('Openkey ist fehlgeschlagen');
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Rakshasa
Rakshasa

Registriert seit: 1. Nov 2003
182 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Registry Key löschen

  Alt 19. Apr 2010, 17:53
Du hast bei der Pfadangabe den Backslash "\" an erster Stelle vergessen:


Delphi-Quellcode:
// Müsste jetzt funktionieren...
reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\System', false);
  Mit Zitat antworten Zitat
DarkProtector

Registriert seit: 19. Apr 2010
9 Beiträge
 
#8

Re: Registry Key löschen

  Alt 19. Apr 2010, 17:58
Funktioniert leider immer noch nicht. Zur allgemeinen Information ich habe Uses ...,Registry; drin und alles mit Administrationsrechten ausgeführt.

Edit: So habe das ganze nun nochmal mit einer If-Struktur überarbeitet:
Delphi-Quellcode:
procedure TForm1.UnlockClick(Sender: TObject);

var reg:TRegistry;

begin
reg:=TRegistry.Create;
memo1.Lines.Text:=memo1.Lines.Text+'->Entferne Registry Schreibschutz';
try
   reg.RootKey:=HKEY_CURRENT_USER;
 if reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Policies\System', false)
   then
    begin
    reg.Deletekey('DisableRegistryTools');
    memo1.Lines.Text:=memo1.Lines.Text+'...Done'+#13;
    end
finally
   reg.CloseKey;
end;
Die If-Struktur ist mir noch nicht so ganz klar müsste ja noch irgendwas wie =true oder so hin aber komme damit noch nicht wirklich zurecht.
  Mit Zitat antworten Zitat
Benutzerbild von Rakshasa
Rakshasa

Registriert seit: 1. Nov 2003
182 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Registry Key löschen

  Alt 19. Apr 2010, 18:24
Welches Betriebssystem nutzt Du? Spätestens ab Vista dürften solche Eingriffe wie Du sie durchführst nicht möglich sein (Stichwort Benutzerrechte).

Teste das Ganze doch mal in einem Testschlüssel unter "\Software\Test" oder so. Wenn das Da mit dem gleichen Code klappt, weißt Du, dass es Rechteproblem ist.

//edit: Den führenden Backslash hast Du immer noch nicht drin
  Mit Zitat antworten Zitat
DarkProtector

Registriert seit: 19. Apr 2010
9 Beiträge
 
#10

Re: Registry Key löschen

  Alt 19. Apr 2010, 18:28
Ok mit neuen Rechten gibt er ein Done aus. Machen tut er trotzdem nichts. (Pfad, Rechte und Backslash sind korrekt).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 03:34 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