Einzelnen Beitrag anzeigen

Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#25
  Alt 2. Jul 2003, 22:03
Hallo Trouble_Maker,
bin gerade über deinen Quelltext geflogen *haberichtigangstbekommen*.

Deinen Schlüssel mit dem Datenwert 'Autostart' wirst Du nie schreiben, da Du ihn abhängig von "CheckBox1.checked" machst. Dieser wird aber in "TForm1.FormCreate" nur gesetzt, wenn es ihn gibt. Der Amerikaner sagt, glaube ich, Catch 22 dazu. Du drehst dich im Keis.

Du solltest besser prüfen, ob der Autostart Schlüssel unter 'Software\Microsoft\Windows\CurrentVersion\Run' existert und dann deine Hacken setzen. Dann würdest Du auch bei Programmstart (von Hand) mitbekommen, daß Dir einer den Schlüssel gekegelt hat.
bye
[Nachtrag] so würde es auch gehen[/Nachtrag]
Delphi-Quellcode:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked then
  begin
    SetAutoStart('DBSysCon', ParamStr(0), False, False);
    CheckBox1.Checked := False;
    reg.WriteInteger('Autostart', 1); // mit öffnen und schließen versteht sich
  else
  begin
    SetAutoStart('DBSysCon', ParamStr(0), True, False);
    CheckBox1.Checked := True;
    Reg.DeleteValue('Autostart'); // mit öffnen und schließen versteht sich
  end;
end;
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat