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-ID: 110788

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

Ausgedruckt am: 23.11.2024 um 02:11 Uhr

76109
76109 08.03.2009 um 09:27:24 Uhr
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