Отредактируйте файл ресурсов * .rc и добавьте следующую строку:
1 RCDATA "C:\\my disk\\source.exe"
"source.exe"
будет включено в вашу программу. Вы можете сделать это с любым файлом.
1
используется в качестве идентификатора в приведенном выше примере. Вы можете использовать любой уникальный идентификатор.
Чтобы извлечь данные во время выполнения:
bool copy()
{
HINSTANCE hinst = AfxGetInstanceHandle(); //or just NULL
HRSRC hrsrc = FindResource(hinst, MAKEINTRESOURCE(1), RT_RCDATA);
if(hrsrc)
{
auto hglobal = LoadResource(hinst, hrsrc);
auto data = LockResource(hglobal);
auto datasize = SizeofResource(hinst, hrsrc);
CFile file;
if(file.Open(L"c:\\target\\output.exe", CFile::modeWrite | CFile::modeCreate))
{
file.Write(data, datasize);
file.Close();
return true;
}
else
{
TRACE("cannot open file\n");
}
}
else
{
TRACE("resource not found\n");
}
return false;
}