Einzelnen Beitrag anzeigen

T.E.

Registriert seit: 27. Mai 2007
Ort: Hamburg
284 Beiträge
 
Delphi XE2 Enterprise
 
#1

Dateiendung mit Programm verknüpfen...?!

  Alt 25. Sep 2007, 14:51
Hallo!

Ich hoffe ich bin hiermit im Richtigen THema...

Ich habe mir eine neue Dateiendung geschaffen (*.icctmp) und mit folgender Funktion mit meinem Programm verknüpft:
Delphi-Quellcode:
function InstallExt(Extension, ExtDescription, FileDescription,
OpenWith, ParamString: string; IconIndex: Integer = 0): Boolean;
var
  Reg: TRegistry;
begin
  Result := False;
  if Extension <> 'then
  begin
    if Extension[1] <> '.then
      Extension := '.' + Extension;

    Reg := TRegistry.Create;
    try
      Reg.RootKey := HKEY_CLASSES_ROOT;
      if Reg.OpenKey(Extension, True) then
      begin
       Reg.WriteString('', ExtDescription);
       if Reg.OpenKey('\' + ExtDescription, True) then
       begin
         Reg.WriteString('', FileDescription);
         if Reg.OpenKey('DefaultIcon', True) then
         begin
           Reg.WriteString('', Format('%s,%d', [OpenWith, IconIndex]));
           if Reg.OpenKey('\' + ExtDescription + '\Shell\Open\Command', True) then
           begin
             Reg.WriteString('', Format('"%s" "%s"', [OpenWith, ParamString]));
             Result:=True;
           end;
         end;
       end;
     end;
  finally
    Reg.Free;
  end;
  end;
end;
Installiert wird diese Endung beim Aufrufen des Programms im oncreate- ereignis mit folgendem Aufruf:
InstallExt('.icctmp', 'ICC Verlauf', 'Gespeicherter ICC Verlauf', ParamStr(0), '"%1"',0); So nun wird die Dateiendung mit meinem Programm verküpft und wenn ich eine Datei des Typs öffne wird mein Programm auch ganz normal gestartet...nur leider wird mir der Inhalt der Datei nicht angezeigt...

Woran liegt das?
Gruß Torben
  Mit Zitat antworten Zitat