리소스에 파일을 추가 할 수 있습니다. 메모장을 사용하여 프로젝트의 * .rc 파일을 엽니 다. 런타임 동안
123 RCDATA "c:\\source-path\\source-file.htm"
당신은 어떤 미리 정의 된 값을 사용할 수 있습니다, 예를 #define ID_STRING 1234
열기 리소스 다음 디스크에 복사하거나 데이터를 직접 열 님 * .rc 파일에 다음 줄을 추가합니다. 이 코드는 파일을 디스크에 저장 한 다음 파일 디스크를 열려고 시도합니다.
#include <Windows.h>
#include <fstream>
void foo()
{
HRSRC hrsrc = FindResource(NULL, MAKEINTRESOURCE(123), RT_RCDATA);
if(!hrsrc)
{
MessageBoxW(0, L"resource `123 RCDATA` not found", 0, 0);
return;
}
HMODULE hmodule = 0;
HGLOBAL hglobal = LoadResource(hmodule, hrsrc);
void *data = LockResource(hglobal);
DWORD size = SizeofResource(hmodule, hrsrc);
const wchar_t* filename = L"c:\\temp\\testout.htm";
std::ofstream fout(filename, std::ios::binary);
if(!fout)
{
MessageBoxW(0, L"Cannot make temp file", 0, 0);
return;
}
fout.write((char*)data, size);
fout.close();
ShellExecuteW(0, NULL, filename, NULL, NULL, SW_SHOW);
}
RCDATA
는 10
RT_RCDATA
가 완벽 MAKEINTRESOURCE(10)
에 대한 매크로 상수입니다! 대단히 감사합니다 !! – winapiwrapper