怎么实现在一个exe里面包含另一个exe

「已注销」 2010-03-21 01:23:38
需求:实现在一个exe文件运行是自动生成一个单独的exe文件

具体描述:
比如现在有两个程序test.exe和windbg.exe,我现在想实现的就是把windbg.exe打包到test.exe中,当test.exe开始运行时,windbg.exe自动解压出来,不实际解压出来可以直接调用也行。

谢谢。
...全文
654 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2010-03-21
  • 打赏
  • 举报
回复
搞定,多谢!

Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("TestPrepare.windbg.exe");
byte[] bs = new byte[stream.Length];
stream.Read(bs, 0, (int)stream.Length);

FileStream fs = new FileStream("windbg.exe", FileMode.Create);
fs.Write(bs, 0, (int)stream.Length);
fs.Flush();
fs.Close();
ChrisAK 2010-03-21
  • 打赏
  • 举报
回复
1.放到资源里,需要时读取写入文件.
2.直接winrar自解压吧= =
「已注销」 2010-03-21
  • 打赏
  • 举报
回复
To 6#:

我现在是直接把windbg.exe加到为加为资源文件了,Build Action 改为Embedded Resource,下面我想引用他怎么办?
比如我想process.start("windbg.exe"); //这个地方的windbg.exe我该怎么表示

Assembly.GetExecutingAssembly().GetManifestResourceNames();可以获取到资源名为namaspace.windbg.exe,怎么能引用这个名字让他可以被实现?

谢谢
wuyq11 2010-03-21
  • 打赏
  • 举报
回复
把需要包含的exe放入到进资源文件中,和原来的程序一起编译成一个exe文件
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("test.exe");
byte[] bs = new byte[stream.Length];
stream.Read(bs, 0, (int)stream.Length);
Assembly asm = Assembly.Load(bs);
lzsh0622 2010-03-21
  • 打赏
  • 举报
回复
放资源文件中,用时写出,不用删除
zhaoxuhua 2010-03-21
  • 打赏
  • 举报
回复
一些病毒的功能吧.不会...
WINRAR打包成EXE,压缩包中包含程序和,BAT脚本.哈哈,很简单吧
xiaogug01 2010-03-21
  • 打赏
  • 举报
回复
这个好办啊。用InstallShield 12打包把原来的windbg.exe打包到新的安装文件中(新文件test.exe)这样就行了
还可以在test.exe中调用windbg.exe 这样都行吧。
a5796489 2010-03-21
  • 打赏
  • 举报
回复
这种功能只有孕妇才能实现,楼主啊
「已注销」 2010-03-21
  • 打赏
  • 举报
回复
急,在线等。。。。

111,086

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧