Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Registry Eintrag erstellen/löschen (https://www.delphipraxis.net/50254-registry-eintrag-erstellen-loeschen.html)

Gast 22. Jul 2005 15:07


Registry Eintrag erstellen/löschen
 
Hallo, habe das Forum schon durchsucht aber nix brauchbares gefunden. Und zwar benutze ich folgenden Code um ein Programm so in die Registry zu schreiben, dass es beim Windowsstart geöffnet wird:

Delphi-Quellcode:
var
  reg : TRegistry;
begin
  reg := tregistry.create;
  with reg do
  begin
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', true);
    WriteString('Uptime', paramstr(0));
    CloseKey;
    free;
  end;
end;

Das funktioniert auch soweit, allerdings möchte ich mit einem Klick diesen Eintrag auch wieder da raus kriegen, aber weiß nicht wie.

Matze 22. Jul 2005 15:08

Re: Registry Eintrag erstellen/löschen
 
Hi!

AutostartAutostart ;)


Nachtrag: Ohne Ressourcenschutzblöcke (try ... finally) würde ich das eh nicht lösen.

Gast 22. Jul 2005 15:12

Re: Registry Eintrag erstellen/löschen
 
Dank dir :) Habe aber noch eine kleine Frage, habe jetzt folgendes:

Delphi-Quellcode:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
var
  Reg: TRegistry;
begin
  if CheckBox1.Checked = true then begin
    Reg := TRegistry.Create;
    try
      Reg.RootKey := HKEY_CURRENT_USER;
      Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
      Reg.WriteString('Uptime-Viewer', ParamStr(0));
      Reg.CloseKey;
    finally
      Reg.Free;
  end;
  end;
  if CheckBox1.Checked = false then begin
    Reg := TRegistry.Create;
    try
      Reg.RootKey := HKEY_CURRENT_USER;
      Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
      Reg.DeleteValue('Uptime-Viewer');
      Reg.CloseKey;
    finally
      Reg.Free;
  end;
end;
end;
Das geht auch alles, doch wenn ich das Proggi in die Registry drin habe, dann sollte der Haken direkt in die Checkbox rein, aber wie geht das ?

Also if Registry da then Checkbox.checked := true

Wäre für ein Beispielcode sehr dankbar

Luckie 22. Jul 2005 16:21

Re: Registry Eintrag erstellen/löschen
 
TRegistry kennt die Methode ValueExists oder so. Guck dir in der Hilfe einfach mal die Methoden von TRegistry an, da wirst du was passendes finden.


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