サードパーティの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);
}
</ code>
プロセスを使用して新しい実行可能ファイルを実行する
ソリューションエクスプローラーでプロジェクトを右クリックし、ダイアログボックスで既存の項目選択実行可能ファイルを追加してから、exeパスに移動して、プロジェクトにexeを追加します。ボタンクリックイベントでexeを開始する場合は、このコードを簡単に記述します簡単...
private void button_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("fire.EXE");
}
もっと簡単に書けます
private void ExtractResource(string resName、string fName) { object ob = Properties.Resources.ResourceManager.GetObject(resName、originalCulture); byte [] myResBytes =(byte [])ob; using(FileStream fsDst = new FileStream(fName、FileMode.CreateNew、FileAccess.Write)) { byte [] bytes = myResBytes ; fsDst.Write(bytes、0、bytes.Length); fsDst.Close(); fsDst.Dispose(); } }