Einzelnen Beitrag anzeigen

matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#1

Prüfen der registrierten Dateitypen

  Alt 12. Mär 2008, 09:29
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
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat