一个MFC项目里用ShellExecute 调用了一个a.exe可执行文件,请问如果 将该MFC项目发布成exe 可执行文件?
我要的是发布后的exe文件可以运行,不需要带有a.exe文件。意思就是把a.exe文件打包到最后发布的exe可执行程序中。...
我要的是发布后的exe 文件 可以运行,不需要带有 a.exe 文件。意思就是 把 a.exe文件打包到最后发布的exe可执行程序中。
展开
2个回答
展开全部
可以。假设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
实现的思路是:
把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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询