首页 > 代码库 > 将EXE作为资源,然后在释放到磁盘上并运行该exe程序(使用了FindResource,LoadResource,然后用CFile写成一个文件)
将EXE作为资源,然后在释放到磁盘上并运行该exe程序(使用了FindResource,LoadResource,然后用CFile写成一个文件)
[cpp] view plain copy
- // 将exe作为资源加入,然后再释放出来,并运行
- try
- {
- HRSRC hRes = FindResource(NULL, MAKEINTRESOURCE(IDR_EXE1), _T("EXE"));
- if(NULL == hRes)
- return ;
- DWORD dwSize = SizeofResource(NULL, hRes);
- if(0 == dwSize)
- return ;
- HGLOBAL hGlobal = LoadResource(NULL, hRes);
- if(NULL == hGlobal)
- return ;
- LPVOID lp = LockResource(hGlobal);
- if(NULL == lp)
- return ;
- CFile file;
- TCHAR szApp[MAX_PATH] = {_T("F://11.exe")};
- file.Open(szApp, CFile::modeCreate | CFile::modeWrite);
- file.WriteHuge(lp, dwSize);
- file.Close();
- FreeResource (hGlobal);
- if(PathFileExists(szApp))
- {
- STARTUPINFO si = {sizeof(si)};
- PROCESS_INFORMATION pi = {0};
- if(CreateProcess(NULL, szApp, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
- {
- CloseHandle(pi.hThread);
- CloseHandle(pi.hProcess);
- }
- }
- }
- catch (CException* e)
- {
- e->ReportError();
- e->Delete();
- }
http://blog.csdn.net/visualeleven/article/details/6035381
将EXE作为资源,然后在释放到磁盘上并运行该exe程序(使用了FindResource,LoadResource,然后用CFile写成一个文件)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。