我有一个第三方的EXE。 我只是需要从我的C#应用程序运行此。
我的主要目标就是版权,从我的C#文件的第三方可执行..
有没有更好的方式来做到这一点?
我怎样才能做到这一点 ?
谢谢
门金加
我有一个第三方的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");
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); }
使用进程来运行新的可执行文件
右键点击乌尔项目的解决方案资源管理器中再加入现有的项目选择对话框中的可执行文件,然后去你的exe文件的路径和在项目中添加你的EXE ..然后如果u想开始你的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(); } }