Hallo me2u!
Du hast ím Grunde zwei Fehler eingebaut:
1. Du gehst davon aus, dass Du einen Key löschen willst, möchtest im Endeffekt aber einen Value loswerden. Dazu mußt Du dann die Methode DeleteValue der Klasse TRegistry verwenden.
2. Du beachtest beim Löschen nicht, dass der Löschbefehl relativ zum geöffneten Key arbeitet.
Und noch ein Hinweis: Überprüfe niemals einen Boolean durch Vergleich mit True oder False. Begründungen hierfür findest DU über die Forensuche zuhauf.
Hier ein Codesnippet zum reingucken. Wenn Du an meinem Code etwas nicht verstehst, bitte nachfragen.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey ('software\Microsoft\Windows\Currentversion\Run', False) then
begin
try
if not Reg.DeleteValue('GIS') then
begin
showmessage ('Value konnte nicht gelöscht werden');
end;
finally
Reg.CloseKey;
end;
end
else
begin
showmessage ('Key konnte nicht geöffnet werden!');
end;
finally
Reg.Free;
end;
end;
Hope it helps
onlinekater