Hello there!
Folgender Code soll bei angeklickter Checkbox einen Wert in die Registry schreiben und, wenn sie nicht angeklickt ist, diesen Wert, fals vorhanden löschen. Ersteres funktioniert. Das Löschen nicht. Wo liegt mein Fehler??
Delphi-Quellcode:
IF Checkbox1.Checked THEN
try
reg := TRegistry.Create;
begin
reg.RootKey := HKEY_LOCAL_MACHINE;
if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion', True) then
if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run', True) then
Reg.WriteString('SPM','C:\Programme\SPM-APPS\bar.exe');
end;
finally
reg.Free;
end
ELSE try
reg := TRegistry.Create;
begin
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True);
Reg.DeleteValue('SPM');
Reg.Destroy;
end;
finally
reg.free;
end;
Close;
end;
Achso, die Fehlermeldung beim Löschen des vorhandenen Eintrages:
Format "%p" ungültig oder nicht kompatibel mit Argument
Also ich verstehe hier nur Bahnhof, aber ich denke, ihr könnt mir helfen.
Der zu löschende Eintrag besteht übrigens in der Registry!
Ciao
DJ-SPM