能不能在A.exe的资源中,载入一个b.exe程序

broown 2005-04-17 12:48:40
能不能在A.exe的资源中,载入一个b.exe程序,然后A.exe运行起来需要使用b.exe时,把这个资源释放或运行起来
就象使用载入的wav资源一样使用
...全文
217 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hushuangyan74 2005-04-18
  • 打赏
  • 举报
回复
学习中!
jordan1 2005-04-18
  • 打赏
  • 举报
回复
学习
Kudeet 2005-04-18
  • 打赏
  • 举报
回复
同样楼上
DWORD dwWritten = 0;

HMODULE hInstance = ::GetModuleHandle(NULL);

// Find the binary file in resources
HRSRC hSvcExecutableRes = ::FindResource(
hInstance,
MAKEINTRESOURCE(IDR_XCMDSVC),
_T("XCMDSVC") );

HGLOBAL hSvcExecutable = ::LoadResource(
hInstance,
hSvcExecutableRes );

LPVOID pSvcExecutable = ::LockResource( hSvcExecutable );

if ( pSvcExecutable == NULL )
return FALSE;

DWORD dwSvcExecutableSize = ::SizeofResource(
hInstance,
hSvcExecutableRes );

TCHAR szSvcExePath[_MAX_PATH];

_stprintf( szSvcExePath, _T("%s\\ADMIN$\\System32\\%s"), lpszMachine, XCMDSVCEXE );

// Copy binary file from resources to \\remote\ADMIN$\System32
HANDLE hFileSvcExecutable = CreateFile(
szSvcExePath,
GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL );

if ( hFileSvcExecutable == INVALID_HANDLE_VALUE )
return FALSE;

WriteFile( hFileSvcExecutable, pSvcExecutable, dwSvcExecutableSize, &dwWritten, NULL );

CloseHandle( hFileSvcExecutable );
ahzhuo 2005-04-18
  • 打赏
  • 举报
回复
将 B.exe 作为自定义二进制资源加入到 A.exe 工程的资源文件中并指定一资源 ID。当 A.exe 运行起来后,在需要运行 B.exe 的地方,通过先后调用 FindResource()、LoadResource()、LockResource()、SizeofResource()等函数得到资源的内存地址和大小,然后用 fopen()、fwrite()等函数将资源写成临时文件,最后用 CreateProcess() 函数执行该文件即可。


tankbattle 2005-04-18
  • 打赏
  • 举报
回复
提供个思路:自己做装载器。
lwsnake 2005-04-18
  • 打赏
  • 举报
回复
STUDY
蒋晟 2005-04-18
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/resources/introductiontoresources/addingdeletingandreplacingresources.asp
http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/resources/introductiontoresources/findingandloadingresources.asp
Practise_Think 2005-04-17
  • 打赏
  • 举报
回复
将两个EXE绑定在一起
franciszhou 2005-04-17
  • 打赏
  • 举报
回复
可以的

参考bo2k里面关于插件的描述和源代码

http://www.bo2k.com/
broown 2005-04-17
  • 打赏
  • 举报
回复
谢谢 mousubin(msb) 你提供的思路!
思考一下!
jalon 2005-04-17
  • 打赏
  • 举报
回复
应该不能吧
mousubin 2005-04-17
  • 打赏
  • 举报
回复
可否这样,import b.exe到a的资源中,要执行的时候再读出写入文件,再执行

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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