Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Registry-Key löschen (https://www.delphipraxis.net/37801-registry-key-loeschen.html)

St.Pauli 10. Jan 2005 19:11


Registry-Key löschen
 
Also, ich glaube ich pack es net nervlich :wink: !!

Wie lösch ich einen Key aus der Registry?
Ich mache als


Code:
Reg := TRegistry.Create;
    try
          Reg.DeleteKey('HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs\url1');
    finally
          Reg.Free;
end;
und es zeigt ja auch beim starten dann keinen Fehler aber wenn cih in der Registry nachsehe steht der Key noch?

BIN ICH ZU BLÖD (ja, will es nur nochma von euch hören :wink: ) ??????

bigg 10. Jan 2005 19:18

Re: Registry-Key löschen
 
moin,

leg mal in deinem Beispiel "RootKey" fest. :wink:

St.Pauli 10. Jan 2005 19:20

Re: Registry-Key löschen
 
^^Hat ich auch schon probiert
Code:
    Reg := TRegistry.Create;
    Reg.RootKey:=HKEY_CURRENT_USER;
    try
          Reg.DeleteKey('HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs\url1');
    finally
      Reg.Free;
    end;

bigg 10. Jan 2005 19:22

Re: Registry-Key löschen
 
du willst das hier löschen:
"HKEY_CURRENT_USER\HKEY_CURRENT_USER\Software\Micr osoft\Internet Explorer\TypedURLs\url1"

St.Pauli 10. Jan 2005 19:31

Re: Registry-Key löschen
 
OK, das hab ich geändert, aber der existiert immer noch!

Code:
procedure TForm1.Button11Click(Sender: TObject);
var Reg: TRegistry;
begin
    Reg := TRegistry.Create;
    Reg.RootKey:=HKEY_CURRENT_USER;
    try
          Reg.DeleteKey('Software\Microsoft\Internet Explorer\TypedURLs\url1');
    finally
      Reg.Free;
    end;
end;

MrSpock 10. Jan 2005 19:33

Re: Registry-Key löschen
 
Hallo St. Pauli,

:warn: bitte demnächst nicht zwei Threads zu demselben Thema aufmachen.

St.Pauli 10. Jan 2005 19:37

Re: Registry-Key löschen
 
OK, sorry

gsh 10. Jan 2005 20:01

Re: Registry-Key löschen
 
das Problemm ist des man den key erst öffnen muss.

Code:
procedure TForm1.Button11Click(Sender: TObject);
var Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey:=HKEY_CURRENT_USER;
  try
    if OpenKey('Software\Microsoft\Internet Explorer\TypedURLs\') = true then
    begin
      Reg.DeleteKey('url1');
    end;
  finally
    Reg.Free;
  end;
end;
:thumb:

St.Pauli 10. Jan 2005 20:11

Re: Registry-Key löschen
 
Code:
procedure TForm1.Button11Click(Sender: TObject);
var Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey:=HKEY_CURRENT_USER;
  try
    if Reg.OpenKey('Software\Microsoft\Internet Explorer\TypedURLs\', true) then
    begin
      Reg.DeleteKey('url1');
    end;
  finally
    Reg.Free;
  end;
end;
So, oder?

Klappt aber immer noch nicht!

Nur so, ich bin und habe volle Admin rechte aufm PC, daran kanns net liegen (Kein plan ob es daran liegen könnte)

gsh 10. Jan 2005 20:24

Re: Registry-Key löschen
 
a ja ich hab des vergessen des des noch einen zweiten parameter braucht der ist dafür dass der ordner erstellt wird wenn er nicht vorhanden ist aber es müsste funktionieren.

Code:
procedure TForm1.Button11Click(Sender: TObject);
var Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey:={Rootkey}HKEY_CURRENT_USER;
  try
    if Reg.OpenKey({ordner in dem root key}'Environment', true) then
    begin
      Reg.DeleteKey({Der value wert}'Path');
    end;
  finally
    Reg.Free;
  end;
end;
wenns dann immer noch nicht geht dann bin ich ratlos

PS: Achtung des ist von windows irgend so ein Schlüssel nicht wirklich löschen oder vorher backup machen

bigg 10. Jan 2005 20:39

Re: Registry-Key löschen
 
Was macht ihr denn da eigentlich?

Code:
if Reg.OpenKey('Software\Microsoft\Internet Explorer\TypedURLs\', true) then
Heißt so viel wie: Erstelle einen Schlüssel, auch wenn dieser nicht existiert !!!
Und wenn wir ihn dann geöffnet haben, löschen wir ihn wieder.


Das sollte hier funktionieren:
Was ist "url1" ?
Ein Schlüssel, eine Zahl, String, Boolean, Hexwert?
Bei mir gibts den wert nicht.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Reg: TRegistry;
const Key = 'Software\Microsoft\Internet Explorer\TypedURLs\url1';
begin

Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER; {für alle Benutzer}

if Reg.KeyExists(Key) then {ist der Schlüssel vorhanden?}
Reg.DeleteKey(Key) {dann löschen} else
ShowMessage('Konnte den Schlüssel nicht löschen.'); {ansonsten Fehlermeldung ausgeben}

finally Reg.Free;
end;
end;

St.Pauli 11. Jan 2005 19:44

Re: Registry-Key löschen
 
Hi, erstma danke für die Antowrten!!!! :-D

ist ein String!

Software\Microsoft\Internet Explorer\TypedURLs\ = 10 zuletzt besuchte Seiten im IE also (url1, url2, ... url10).
Inhalt zum beispiel http://www.delphipraxis.net/

Will die mal alle löschen! Gut, es gibt auch software, aber jetzt hab ich ein Prog für alle unnötigen Dateien, und da kann man das ja auch gleich mit einbauen.

bigg 11. Jan 2005 20:15

Re: Registry-Key löschen
 
ich würde an deiner Stelle den gesamten Schlüssel "TypedURLs" löschen.
geht so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Reg: TRegistry;
const Key = 'Software\Microsoft\Internet Explorer\TypedURLs\';
begin

Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER; {für alle Benutzer}

if Reg.KeyExists(Key) then
begin {ist der Schlüssel vorhanden?}
Reg.DeleteKey(Key); {dann löschen}
ShowMessage('Schlüssel wurde gelöscht.');
end else
ShowMessage('Schlüssel konnte nicht gefunden werden.'); {ansonsten Fehlermeldung ausgeben}

finally Reg.Free;
end;
end;

Nightshade 11. Jan 2005 20:22

Re: Registry-Key löschen
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey:=HKEY_CURRENT_USER;
  try
    if OpenKey('Software\Microsoft\Internet Explorer\TypedURLs\') = true then
    begin
      Reg.DeleteValue('url1');
    end;
  finally
    Reg.Free;
  end;
end;
url1 ist ein VALUE kein KEY !!!

bigg 11. Jan 2005 20:23

Re: Registry-Key löschen
 
Zitat:

Zitat von Nightshade
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey:=HKEY_CURRENT_USER;
  try
    if OpenKey('Software\Microsoft\Internet Explorer\TypedURLs\') = true then
    begin
      Reg.DeleteValue('url1');
    end;
  finally
    Reg.Free;
  end;
end;
url1 ist ein VALUE kein KEY !!!

Erst denken dann posten. Nicht umgekehrt :mrgreen:

Nightshade 11. Jan 2005 20:30

Re: Registry-Key löschen
 
Zitat:

Zitat von bigg
Erst denken dann posten. Nicht umgekehrt :mrgreen:

Was will er nu damit sagen :gruebel: :gruebel: :gruebel:

bigg 11. Jan 2005 20:35

Re: Registry-Key löschen
 
Das du keine Ahnung hast, will er sagen :mrgreen:
Ich lösche auch den Schlüssel nicht den Wert.

Nightshade 11. Jan 2005 20:42

Re: Registry-Key löschen
 
Ich bezog mich nur auf die 98 Beispiele nach St.Pauli's Frage :

Warum geht
Delphi-Quellcode:
Reg.DeleteKey('HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs\url1');
das nicht....

Es war immer nur die Frage wie kann man url1 löschen, nie die Frage wie kann ich den ganzen Schlüssel löschen.....

bigg 11. Jan 2005 20:51

Re: Registry-Key löschen
 
Zitat:

Hi, erstma danke für die Antowrten!!!! Very Happy

ist ein String!

Software\Microsoft\Internet Explorer\TypedURLs\ = 10 zuletzt besuchte Seiten im IE also (url1, url2, ... url10).
Inhalt zum beispiel http://www.delphipraxis.net/

Will die mal alle löschen! Gut, es gibt auch software, aber jetzt hab ich ein Prog für alle unnötigen Dateien, und da kann man das ja auch gleich mit einbauen.

St.Pauli 12. Jan 2005 15:28

Re: Registry-Key löschen
 
:-D :-D :-D ~~~~~~~~~ THX @ ALL ~~~~~~~~~ :-D :-D :-D

Nun klappt es, habe die letzte Version genommen.

Danke an alle!

Gruß, St.Pauli


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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