Visual C#中如何嵌入外部exe并调用?
比如要将外部程序exe嵌入C#程序中(编译时嵌入在C#的exe中),然后在button1_Click方法中调用?
比如要将外部程序exe嵌入C#程序中(编译时嵌入在C#的exe中),然后在button1_Click方法中调用?
解决方案 »
- CheckedListBox如何显示对象的String类型的字段
- 十二球问题..谢谢
- DataGridView即时刷新计算列的问题
- VS 2003,Datagrid(WinForm)中,关于鼠标滚轮的问题
- C#实现数据库里的数据上传
- e1的内容为 "对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成。"是什么意思
- 即时消息,如何维护客户端的状态
- 请问如何实现visual studio 2003中的控件面板动态出现效果?
- 我想做一个管理系统..出了点问题..谁来帮帮我````
- 安装问题?(急)
- 什么是构造函数?能写一个简单的例子么?
- 关于计算机语言的小问题.
Process p = new Process(); //Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:
p.StartInfo.FileName = exePath; //設定程序名
p.StartInfo.Arguments = command; //設定程式執行參數
p.StartInfo.UseShellExecute = false; //關閉Shell的使用
p.StartInfo.RedirectStandardInput = true; //重定向標準輸入
p.StartInfo.RedirectStandardOutput = true; //重定向標準輸出
p.StartInfo.RedirectStandardError = true; //重定向錯誤輸出
p.StartInfo.CreateNoWindow = false; //設置不顯示窗口 p.Start(); //啟動 //p.StandardInput.WriteLine(command); //也可以用這種方式輸入要執行的命令
//p.StandardInput.WriteLine("exit"); //不過要記得加上Exit要不然下一行程式執行的時候會當機 return p.StandardOutput.ReadToEnd();
调用方法同1楼
系统临时文件目录 或者当前程序目录:
Environment.GetEnvironmentVariable("Temp")
或者
Application.StartupPath
文件先保存在Properties.Resources里,然后在释放代码里Byte[]读取Properties.Resources的那个文件,再把Byte[]用File.Write/FileStream写到文件里
具体的代码不记得了,晚上回去查查历史记录- -|||百度一下应该会有的
让这个AppDomain调用那个exe
启动主程序后进程里是看不到那个exe的
能讲一下具体做法吗?比如我要将a.exe嵌入,然后调用嵌入的a.exe(注意了,此时不是外部程序的a.exe了)?
你亲自尝试过吗?
如果可以的话 p.StartInfo.FileName赋值成什么?
我一再说了是作为嵌入资源的a.exe,不是外部程序a.exe。
我尝试过,如果作为外部程序,那么p.StartInfo.FileName="a.exe";是正确的,但是作为内嵌资源的话p.StartInfo.FileName="a.exe";是不正确的,会报异常,找不到a.exe的文件。我希望直接调用内嵌的exe,而不希望跟前面9楼所说的释放到硬盘再当外部程序调用。
你要知道,外部的exe的底层编码和你要编译的.net程序的底层代码根本是不通的,.net程序的底层是CL(通用语言),而且运行于CLR(通用语言运行时)之上的
private void button1_Click(object sender,EventArgs e)
{
Process.Start(@"notepad.exe");
//Start静态方法用于启动一个外部的应用程序..参数是把一个可执行的exe文件目标路径..}
a.ExecuteAssemblyByName("exe路径")
这句具体听了还是有点糊涂
我的代码是将a.exe的进程合并到你的调用的程序里 所以进程管理器里是看不到a.exe的
a.ExecuteAssemblyByName("exe路径") ?我的exe已经作为资源嵌入了,根本不是外部程序了,何来路径?