C# exe in code einbauen?

4 Antworten

die Haupt Exe mit der Funktion nutzen kann ohne irgendeinen path angegeben

Wenn du keinen Path zur .exe zur Laufzeit angeben willst musst du den Code der Funktionen die du nutzen willst in deine Anwendung kopieren. An den Code aus dem die .exe kompiliert wurde kommst du folgendermaßen:

Wenn die .exe aus C# Code Kompiliert wurde und nicht als Ready To Run Kompiliert wurde kannst du mit einem Dekompiler wie ILSpy den C# Code der .exe einsehen.

Wenn es sich um eine .exe handelt dir für .NET Framework kompiliert wurde handelt kannst du das wie oben beschrieben machen. Sollte diese für .NET Kompiliert worden sein musst du die gleichnamige .dll-Datei mit ILSpy öffnen.

Woher ich das weiß:Hobby – Ich programmiere seit 3 Jahren mit C#
Mein eigentliches Ziel ist es die exe mit der kleinen Funktion richtig in die Haupt Exe einzubauen

Das einfachste wäre vermutlich, dass Du die Datei als Embedded Resource einbetten lässt. Beim Start entpackst Du die Embedded Resource ins Temp-Verzeichnis in einen Unterordner. Von dort kannst Du die exe dann ganz normal aus dem Code heraus starten.

Bedenke aber, dass es illegal ist, Malware auf diese Weise einzuschleusen.
Außerdem könnte ich mir vorstellen, dass Virenscanner etwas dagegen haben.

Wenn es .NET ist, könntest Du aber auch die Binaries direkt nutzen. Dazu lädst Du die exe als Assembly und kannst dann gezielt Funktionen (ein .NET Decompiler hilft beim Suchen) mit Reflection nutzen. Oder Du suchst mit Reflection die Main-Methode und führst sie einfach aus, nichts anderes passiert, wenn Du die exe normal startest.
Dafür musst Du dann auch nicht die Datei irgendwo physisch ablegen, um eine Assembly zu laden, reicht es, die Datei im RAM zu haben.

Woher ich das weiß:Berufserfahrung – C#.NET Senior Softwareentwickler
using System.Diagnostics;

Process.Start("process.exe");

Eventuell musst du statt nur dem Dateinamen einen Dateipfad zu der exe-Datei angeben.

Mehr Infos auf StackOverflow.


imexyy 
Fragesteller
 19.05.2024, 18:08

Mein eigentliches Ziel ist es die exe mit der kleinen Funktion richtig in die Haupt Exe einzubauen damit ich die Haupt Exe mit der Funktion nutzen kann ohne irgendeinen path angegeben zu haben.

0

Versuch mal die .exe als Referenz hinzuzufügen. Könnte sein dass win paar Funktionen exposed sind, würde dann wie eine referenzierte.dll funktionieren.

Woher ich das weiß:Berufserfahrung