d3luxe
Goto Top

Eigene Dateiendung die wie .bat behandelt werden soll

Also ich möchte eine Dateiendung Registrieren die wie .bat behandelt wird! Das ganze habe ich mit Delphi gemacht ich habe auch einen Code im Internet gefunden aber jetzt kommt der Fehler! Als wert muss ich ja eingeben mit welchem programm es gestartet werden soll.. also mit cmd.exe das funktioniert nicht wie ich bemerkt hab also habe ich in der registry geschaut wie Windows .bat registriert hat


Hier mal der code von Delphi


function InstallExt(Extension, ExtDescription, FileDescription,
                    OpenWith, ParamString: String; IconIndex: Integer): Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    try
      with Reg do
      begin
        RootKey := HKEY_CLASSES_ROOT;
        OpenKey(Extension, True);
        WriteString('', ExtDescription);  
        CloseKey;
        OpenKey('\' + ExtDescription, True);  
        WriteString('', FileDescription);  
        CloseKey;
        OpenKey('DefaultIcon', True);  
        WriteString('', OpenWith + ','+IntToStr(IconIndex));  
        CloseKey;
        OpenKey('\' + ExtDescription + '\Shell\Open\Command', True);  
        WriteString('', '"' + OpenWith + '" "' + ParamString + '"');  
        CloseKey;
      end;
      Result := True;
    except
      Result := False;
    end;
  finally
    Reg.Free;
  end;
end;
Begin
InstallExt('.test', 'test-Datei', 'test', 'C:\Windows\System32\cmd.exe', '%1',0);  
end.

Quelle: http://www.delphipraxis.net/post166715.html

So jetzt möchte ich wissen mit welchem parameter ich die cmd.exe ausführen muss das es eine datei wie ein batchscript behandelt
wenn ich manuell die werte von .bat bei meiner endung eingebe kommt die meldung "xyz.test ist keine gültige win32 anwendung"
deswegen habe ich es aufgegeben die standartwerte zu nutzen
kann ich meine dateiendung irgendwie mit .bat verknüpfen? Das ganze muss in delphi einbaubar sein!


[Edit Biber] Code in Code-Tags gesetzt. [/Edit]

Content-Key: 110788

Url: https://administrator.de/contentid/110788

Printed on: April 25, 2024 at 04:04 o'clock

Mitglied: 76109
76109 Mar 08, 2009 at 08:27:24 (UTC)
Goto Top
Hallo!

Nein, das geht nicht. Es sei denn, Du schreibst ein eigenes Stabelverarbeitungsprogramm.

Cmd.Exe oder Command.Com prüft intern, ob es sich um eine ausführbare Datei handelt.

Dazu gehören nur *.com, *.exe und *.bat als Stapelverarbeitungsprogramm.

Gruß Dieter