문제: 다음과 같이 텍스트 파일의 내용을 실행 가능한 바이너리에 포함하는 방법을 찾고 있습니다. 런타임에 액세스할 수 있는 리소스.
해결책: 이를 달성하려면 기본 Windows 애플리케이션에서 사용자 정의 리소스를 활용하십시오.
MSDN에 정의된 사용자 정의 리소스의 구조는 다음과 같습니다.
nameID typeID filename
위치:
리소스 파일에 항목을 추가하여 텍스트 파일을 포함합니다.
IDR_MYTEXTFILE TEXTFILE "mytextfile.txt"
리소스 ID(nameID 및 typeID) 및 resources.h 파일은 일관됩니다.
필요한 Windows 헤더를 포함하고 리소스를 로드하는 함수를 정의합니다.
#include <windows.h> #include <cstdio> #include "resource.h" void LoadFileInResource(int name, int type, DWORD& size, const char*& data) { // ... (Error checking omitted for clarity) HRSRC rc = ::FindResource(handle, MAKEINTRESOURCE(name), MAKEINTRESOURCE(type)); HGLOBAL rcData = ::LoadResource(handle, rc); size = ::SizeofResource(handle, rc); data = static_cast<const char*>(::LockResource(rcData)); }
사용법 예:
int main() { DWORD size = 0; const char* data = NULL; LoadFileInResource(IDR_MYTEXTFILE, TEXTFILE, size, data); // ... (Use the data pointer to access the resource contents) return 0; }
참고:
위 내용은 기본 Windows 응용 프로그램에 텍스트 파일을 리소스로 포함하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!