サードパーティのEXEがあります。これを C# アプリケーションから実行するだけです。
私の主な目標は、C# ファイルからサードパーティの実行可能ファイルを著作権で保護することです..
これを行うより良い方法はありますか?
これどうやってするの ?
internal static byte[] SubExe {
get {
object obj = ResourceManager.GetObject("SubExe", resourceCulture);
return ((byte[])(obj));
}
}
リソースにアクセスするメソッドを追加します。これも非常に簡単です。リソース デザイナーの cs ファイルに次のコードを追加するだけです。
public static byte[] GetSubExe()
{
return SubExe;
}
メインの実行可能なソース コードで、リソースを読み取り、新しいファイルに書き込むために次を追加します。
string tempExeName = Path.Combine(Directory.GetCurrentDirectory(), "A3E5.exe");
using(FileStream fsDst = new FileStream(tempExeName,FileMode.CreateNew,FileAccess.Write))
{
byte[] bytes = Resource1.GetSubExe();
fsDst.Write(bytes, 0, bytes.Length);
}
プロセスを使用して新しい実行可能ファイルを実行します
もっと簡単に書くことができます
private void ExtractResource(string resName, string fName) { object ob = Properties.Resources.ResourceManager.GetObject(resName, originalCulture); バイト[] myResBytes = (バイト[])ob; using (FileStream fsDst = new FileStream(fName, FileMode.CreateNew, FileAccess.Write)) { byte[] バイト = myResBytes; fsDst.Write(バイト、0、バイト.長さ); fsDst.Close(); fsDst.Dispose(); } }
あなたのプロジェクトを右クリックしてソリューションエクスプローラーを開き、既存のアイテムを追加しますダイアログボックスで実行可能ファイルを選択し、exeパスに移動してプロジェクトにexeを追加します..次に、ボタンクリックイベントでexeを開始したい場合は、このコードを簡単に記述します簡単 ...
private void button_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("fire.EXE");
}