Hi xthing! Ich hoffe, ich habe deine Frage so richtig verstanden: Der Wert "(Standard)" in der Registry ist nur ein Anzeigewert. Der eigentliche Wert ist ein Leerstring. In deinem Code greift das TRegistry Objekt auch auf
HKCU anstatt den
HKCR zu, da du keinen "Rootkey" definiert hast. "OpenKey" greift nur auf die Unterschlüssel des Rootkeys zu. Demnach muss die procedure so aussehen:
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
var
registry_val: TRegistry;
Key : String;
Key_Val : String;
begin
registry_val:=TRegistry.Create;
Key:='acrobat\DefaultIcon';
with registry_val do
begin
try
Rootkey:=HKEY_CLASSES_ROOT;
if OpenKey(key,false) then
begin
Key_Val := registry_val.ReadString('');
end;
except
ShowMessage('Es ist ein Fehler aufgetreten!');
end;
end;
registry_val.Free;
end;