Hallo zusammen,
ach Stundenlanger Suche im Internet muss ich doch mal die Frage hier stellen,
vieleicht gibts das schon irgendwo erklärt aber ich habs einfach nicht gefunden.
Und zwar gibt es viele verschiedene Dateiendungen die ich mit meinem Programm verknüpfen möchte oder eben die Verknüpfung löschen möchte.
Dazu muss ich aber erstmal Prüfen ob mein Programm in der Registry überhaupt drin ist.
Dazu hab ich folgende Funktion geschrieben
Delphi-Quellcode:
function CheckExt(Extension: String): Boolean;
var
Reg: TRegistry;
Description: String;
begin
Result := False;
if Extension <> '' then
begin
if Extension[1] <> '.' then
Extension := '.' + Extension;
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CLASSES_ROOT;
if Reg.KeyExists(Extension) then
begin
Reg.OpenKey(Extension, false);
Description:=Reg.ReadString('');
if (Reg.OpenKey('\' + 'Planmarker', True))//Mein Programmname
and (Reg.OpenKey('DefaultIcon', True))
and (Reg.KeyExists('\'+Description))
then Result:=true
else result:=false;
Reg.CloseKey;
end;
finally
Reg.Free;
end;
end;
end;
Der Code erkennt aber nur das die Endung registriert ist, nicht aber ob mein Programm als Hauptverknüpfung drin steht.
Und ich steh da irgendwie aufn Schlauch...
Gruß Matthias