一个MFC项目里用ShellExecute 调用了一个a.exe可执行文件,请问如果 将该MFC项目发布成exe 可执行文件?

我要的是发布后的exe文件可以运行,不需要带有a.exe文件。意思就是把a.exe文件打包到最后发布的exe可执行程序中。... 我要的是发布后的exe 文件 可以运行,不需要带有 a.exe 文件。意思就是 把 a.exe文件打包到最后发布的exe可执行程序中。 展开
 我来答
挨踢老李
2013-05-19 · TA获得超过876个赞
知道小有建树答主
回答量:1176
采纳率:50%
帮助的人:938万
展开全部
可以。假设mfc.exe是你最终发布的可执行文件。a.exe是你要包含的可执行文件。
实现的思路是:
把a.exe以二进制资源的形式放到mfc.exe的RC资源中,
运行时从mfc.exe中释放出a.exe并用ShellExecute运行。
mfc.exe该如何编写:
1.a.exe以二进制资源的形式放到mfc.exe的RC资源中
2.使用FindResource获取资源句柄
3.使用SizeofResource获取该资源(即a.exe)的大小
4.使用LoadResource将该资源加载到内存缓冲区中
5.构造CFile对象,将缓冲区中数据写入到系统临时文件夹。
6.这样在系统临时文件夹中就会生成a.exe
7.使用ShellExecute运行a.exe
这样最终只发布mfc.exe一个可执行文件,a.exe已经包含在里面了,运行时会释放出来再ShellExecute
bhtzu
2013-05-18 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4079万
展开全部
很遗憾,只是不可能的。
简单的shellexecute必须是磁盘物理文件,同时,标准编译也不可能将exe加入到另一个exe之中。
所以标准的编译也好,发布也好,都实现不了你的需求。

当然,你可以通过软件加壳方式将文件加壳成一体,但这个和编程无关,如果需要,自己去搜索和研究软件加壳吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式