AGB  ·  Datenschutz  ·  Impressum  







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

Registry: Ganzen Schlüssel löschen

Ein Thema von Aurelius · begonnen am 27. Jul 2007 · letzter Beitrag vom 27. Jul 2007
Antwort Antwort
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#1

Registry: Ganzen Schlüssel löschen

  Alt 27. Jul 2007, 00:32
Hallo DP'ler

In meinem Programm werden bestimmte Infos in einen eigenen Eintrag in der Reg gesichert. Nun möchte ich einen Button einbauen mit dem man auf Wunsch den ganzen Schlüssl löscht. Mit einzelnen Werten innerhalb eines Schlüssel bekomm ich das hin, nur den Schlüssel an sich bekomm ich net gelöscht...Bei mir siehts in etwa so aus:
Delphi-Quellcode:
uses Registry;
procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    Reg.OpenKey('Software\', True);
    Reg.DeleteKey('NameDesSchlüssels');
    Reg.CloseKey;
  finally
    Reg.Free;
  end;
end;
Kann sein dass das bei Reg.Delete...anders heißt, hab den Code grad net vor Augen. So sieht es aber in etwa aus...
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Registry: Ganzen Schlüssel löschen

  Alt 27. Jul 2007, 00:51
Du solltest eventuell auch den Schlüssel öffnen, den du löschen willst. Und warum öffnest du ihn mit True? Wenn du ihn löschen willst, warum erstellst du ihn, wenn r nicht vorhanden ist?

Und wie immer einfach mal die Hilfe lesen und sich da Beispiel angucken.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#3

Re: Registry: Ganzen Schlüssel löschen

  Alt 27. Jul 2007, 01:00
Mit der integrierten Delphi-Hilfe kann ich oftmals nicht viel anfangen

Kann mir vielleicht jemand ein Besipiel geben wie ich das mache? Der Schlüssel heißt

KEY_CURRENT_USER\Software\Test

Diesen will ich einfach gelöscht bekommen. Ich glaub mein Vorschlag von oben ist Schmarrn...
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Registry: Ganzen Schlüssel löschen

  Alt 27. Jul 2007, 01:06
Zitat von xX0815Xx:
Mit der integrierten Delphi-Hilfe kann ich oftmals nicht viel anfangen
Was kann man damit bitte nicht anfangen:
Zitat:
TRegistry.DeleteKey

Removes a specified key and its associated data from the registry.

function DeleteKey(const Key: String): Boolean;

Description

Call DeleteKey to remove a specified key and its associated data, if any, from the registry.

DeleteKey returns True if key deletion is successful. On error, DeleteKey returns False.
Delphi-Quellcode:
This OnClick event handler deletes all values saved in the registry under they key named in an edit control.

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;
  Val:TStringList;
  I:Integer;
begin
  Reg:=TRegistry.Create;
  try
    Val:=TStringList.Create;
    try
      Reg.RootKey:=HKEY_LOCAL_MACHINE; // Section to look for within the registry
      if not Reg.OpenKey(Edit1.Text,False) then
        ShowMessage('Error opening key')
      else
      begin
        Reg.GetValueNames(Val);

        for I:=0 to Val.Count-1 do
        begin
          ShowMessage(Edit1.Text + Chr(13) +
                      'has an Entry Called '+Val.Strings[I]+Chr(13)+
                      'With a Value of '+Reg.ReadString(Val.Strings[I]));
        end;
        if MessageDlg('Ok to delete the key and lose all these values?'
                     ,Mtinformation,[mbYes,mbNo],0)=mryes then
           Reg.DeleteKey(Edit1.Text);

      end;
    finally
      Val.Free;
    end;
  finally
    Reg.Free;
  end;
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#5

Re: Registry: Ganzen Schlüssel löschen

  Alt 27. Jul 2007, 01:28
Hab Delphi grad net on, von daher konnt ich nur vom Regelfall sprechen

Egal, danke vielmals. Mal sehen obs funktioniert...
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#6

Re: Registry: Ganzen Schlüssel löschen

  Alt 27. Jul 2007, 16:15
So, ich habs ausprobiert und ein Problem festgestellt.

Delphi-Quellcode:
  Reg := TRegistry.Create;
  try
    Reg.Rootkey := HKEY_CURRENT_USER;
    Reg.DeleteKey('Software\Shutdown');
    Reg.CloseKey;
  finally
    Reg.Free;
  end;
Nur leider löscht er hierbei nur die Werte innerhalb des Schlüssels, nur net den Schlüssel an sich. Komischerweise gehts bei nem Test von mir bei einem anderen Programm einwandfrei...
Jonas
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:55 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