Einzelnen Beitrag anzeigen

DeadyEye

Registriert seit: 12. Jul 2004
29 Beiträge
 
#1

Eigene Dateitypen verarbeiten?

  Alt 14. Jul 2004, 18:50
Ich habe mit Hilfe des folgenden Codes einen eigenen Dateityp regestriert. Nun öffnet bei klick auf eine Datei zwar das richtige Programm, aber wie kann ich das einbinden dass mein Programm mitbekommt dass es von der Datei geöffnet wurde und mit dieser Datei dann etwas machen kann.



Folgenden Code habe ich zur Dateityp regestrierung verwendet, es ist ein Beispielcode aus einer Code Libary

Delphi-Quellcode:
uses
  registry, shlobj;

procedure TForm1.RegisterFileType(prefix: string; exepfad: string);
var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  try
    reg.RootKey := HKEY_CLASSES_ROOT;
    //create a new key --> .pci
    reg.OpenKey('.' + prefix, True);
    try
      //create a new value for this key --> pcifile
      reg.Writestring('', prefix + 'file');
    finally
      reg.CloseKey;
    end;
    //create a new key --> pcifile
    reg.CreateKey(prefix + 'file');
    //create a new key pcifile\DefaultIcon
    reg.OpenKey(prefix + 'file\DefaultIcon', True);
    //and create a value where the icon is stored --> c:\project1.exe,0
    try
      reg.Writestring('', exepfad + ',0');
    finally
      reg.CloseKey;
    end;
    reg.OpenKey(prefix + 'file\shell\open\command', True);
    //create value where exefile is stored --> c:\project1.exe "%1"
    try
      reg.Writestring('', exepfad + ' "%1"');
    finally
      reg.CloseKey;
    end;
  finally
    reg.Free;
  end;
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  RegisterFileType('pci', 'c:\project1.exe');
end;
  Mit Zitat antworten Zitat