Announcement

Collapse
No announcement yet.

EXE in Resourcefile in ein Programm packen und von dort aufrufen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • EXE in Resourcefile in ein Programm packen und von dort aufrufen

    Ich möchte externe Programme, die alle Freeware sind, in mein Programm einbinden. Ich weiß wie das geht (mit res-Dateien und {$r name.res}), klar.

    Nur wie kann ich jetzt nachdem ich das Handle geladen habe die Exe mit Parameter aufrufen ???

    Bitte helft mir, ich brauche das dringend.

  • #2
    Ich habe es an anderer Stelle schon erfahren, wie es geht bei www.entwickler.com:

    function WipeFile(filename:String;passes:integer):boolean;
    var
    HRsrc,HInst: THandle;
    ResStream: TResourceStream;
    begin
    HInst := HInstance;
    HRsrc := FindResource(HInst, PChar('Eraser'), 'EXE');
    Result := HRsrc <> 0;
    if not Result then Exit;
    ResStream := TResourceStream.Create(HInst, 'Eraser', 'EXE');
    try
    ResStream.SaveToFile('eraser.exe');
    finally
    ResStream.Free;
    end;

    // Wiping here if resource could be loaded

    Result := True;
    end;

    Die exe eraser.exe ist als resource in das Hauptprogramm eingebunden.
    Laden kann ich wie hier angegeben (nicht optimiert, aber fürs erste funktionierts). Die Exe wird dann extern gespeichert und kann dann aufgerufen werden

    Comment


    • #3
      Hi Robert

      Dein Source ist ein bischen doppeltgemoppelt:

      <pre>

      function WipeFile: Boolean;
      begin
      try
      with TResourceStream.Create(HInstance, 'ERASER', 'EXE') do
      try
      SaveToFile(...');
      Result := True;
      finally
      Free;
      end;
      except
      Result := False;
      end;
      end;

      </pre>

      Gruß Hage

      Comment

      Working...
      X