Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Dateien / Laufwerke (https://www.delphipraxis.net/41-library-dateien-laufwerke/)
-   -   Delphi Programm mit FileType verknüpfen. (https://www.delphipraxis.net/7373-programm-mit-filetype-verknuepfen.html)

RomanK 10. Aug 2003 18:53


Programm mit FileType verknüpfen.
 
Um einen FileType mit seinem Programm zu verknüpfen einfach diese Funktion einbinden. In der Uses-Klausel Registry nicht vergessen.

Delphi-Quellcode:
function AddCommand(Extension,              // ENDUNG (.end)
                    Command,      // Wie es im popupmenu erscheinen soll
                    OpenWith,      // die Exe mit der die Datei geöffnet werden soll
                    ParamString: STRING; // die Parameter (Normal: %1)
                    Asdefault: BOOLEAN): // Soll der Command als Standart,
                                          // also auch bei Linksklick, definiert werden
                    BOOLEAN;
var
  Reg: TRegistry;
  ExtType: String;
begin
  Reg := TRegistry.Create;
  try
    with Reg do
    begin
      RootKey := HKEY_CLASSES_ROOT;
      OpenKey(Extension, True);
      ExtType := ReadString('');
      if ExtType = '' then     // Endung ist noch nicht registriert
      begin
        OpenKey('\' + Extension + '\Shell\'+Command+ '\Command', True);
        WriteString('', '"' + OpenWith + '" "' + ParamString + '"');
        if AsDefault then
        begin
          OpenKey('\' + Extension + '\Shell', True);
          WriteString('', Command);
        end;
      end else        // Endung ist schon registriert
      begin
        OpenKey('\' + ExtType + '\Shell\'+Command+ '\Command', True);
        WriteString('', '"' + OpenWith + '" "' + ParamString + '"');
        if AsDefault then
        begin
          OpenKey('\' + ExtType + '\Shell', True);
          WriteString('', Command);
        end;
      end;
    end;
    result := true;
  except
    Result := False;
  end;
    Reg.Free;
end;
und das ganze wird so aufgerufen:
Delphi-Quellcode:
AddCommand('.txt','TestAnsicht',Application.Exename,'%1',false);
THX to dopeline.
Viel Spaß beim :coder:

[edit=Matze]Code formatiert. Mfg, Matze[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz