我有一个第 3 方 EXE。我只需要从我的 C# 应用程序中运行它。
我的主要目标是从我的 C# 文件中为第 3 方可执行文件提供版权。
有没有更好的方法来做到这一点。?
我怎样才能做到这一点 ?
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);
}
使用进程运行新的可执行文件
可以写一个更简单的
私有无效提取资源(字符串 resName,字符串 fName) { 对象 ob = Properties.Resources.ResourceManager.GetObject(resName, originalCulture); byte[] myResBytes = (byte[])ob; 使用 (FileStream fsDst = new FileStream(fName, FileMode.CreateNew, FileAccess.Write)) { 字节 [] 字节 = myResBytes; fsDst.Write(bytes, 0, bytes.Length); fsDst.Close(); fsDst.Dispose(); } }
右键单击您的项目解决方案资源管理器然后添加现有项目在对话框中选择可执行文件然后转到您的exe路径并将您的exe添加到您的项目中..然后如果您想在按钮单击事件上启动您的exe然后编写此代码很简单简单的 ...
private void button_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start("fire.EXE");
}