Hallo Cruso!
Du hast die If - Clause an der falschen Stelle eingebaut.
Du hast die Überprüfung, ob Checkbox1 gecheckt ist außen rum gelegt.
Du creierst das TRegistry-Objekt nur, wenn checked, greifst aber auch bei not checked darauf zu.
Es funktioniert folgendermaßen:
Delphi-Quellcode:
MyReg:=TRegistry.Create;
try
MyReg.RootKey:=hkey_local_machine;
MyReg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', true);
try
if CheckBox1.Checked then
begin
MyReg.WriteString('bla',Application.ExeName);
end
else
begin
if MyReg.ValueExists('bla') then
begin
MyReg.DeleteValue('bla');
end;
end;
finally
MyReg.CloseKey;
end;
finally
MyReg.Free;
end;
Hope it helps
onlinekater
//edit: yankee war schneller
Hoffe, der Code hilft Dir weiter.