Как запустить exe файл из ресурсов не записывая его на диск?
У меня в ресурсах есть исполняемый(.exe) файл. Надо нужно запустить из под самой программы, не записывая его на диск. Мой код main.cpp:
#include <iostream>
#include <Windows.h>
#include "resourse.h"
HMODULE GCM()
{
HMODULE hModule = NULL;
GetModuleHandleEx(
GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
(LPCTSTR)GCM,
&hModule);
return hModule;
}
int main(int argc, char** argv) {
std::string result;
HRSRC hRes = FindResource(GCM(), MAKEINTRESOURCE(DEMO), MAKEINTRESOURCE(RCDATA));
HGLOBAL hData = LoadResource(GCM(), hRes);
DWORD hsize = SizeofResource(GCM(), hRes);
char* hfinal = (char*)LockResource(hData);
result.assign(hfinal, hsize);
std::cout << result << std::endl;
}
resource.h:
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by c sharp in s++.rc
// Следующие стандартные значения для новых объектов
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 101
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
#define DEMO 255
#define RCDATA 254
resource.rc:
include "resourse.h"
DEMO RCDATA "Res\\demo.exe"
Прошу сильно не ругаться, просто не понимаю как работать с ресурсами.