MFC从资源加载文本
Posted 一样菜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC从资源加载文本相关的知识,希望对你有一定的参考价值。
bool CWizardSheet::GetTextResource(UINT uID, CString& csContent) { HMODULE hModule=GetModuleHandle(NULL); HRSRC hRes = FindResource(hModule,MAKEINTRESOURCE(uID),_T("txt")); if(hRes == NULL) { FreeResource(hRes); } else { HGLOBAL hglobal = LoadResource(hModule,hRes); if(hglobal == NULL) { FreeResource(hglobal); return false; } else { //get text csContent.Format(_T("%s"),(LPVOID)hglobal); } } return true; }
bool CWizardSheet::GetResource(UINT uID, CString csType, CString csOutputPath) { CFile file; HMODULE hModule=GetModuleHandle(NULL); HRSRC hRes = FindResource(hModule,MAKEINTRESOURCE(uID),csType); if(hRes == NULL) { FreeResource(hRes); } else { HGLOBAL hglobal = LoadResource(hModule,hRes); if(hglobal == NULL) { FreeResource(hglobal); return false; } else { //释放文件 LPBYTE lpByte=(LPBYTE)LockResource(hglobal); DWORD dwRcSize=SizeofResource(hModule,hRes); file.Open(csOutputPath,CFile::modeCreate | CFile::modeWrite); file.Write(lpByte,dwRcSize); file.Close(); } } return true; }
以上是关于MFC从资源加载文本的主要内容,如果未能解决你的问题,请参考以下文章
WTL强制资源从非mfc应用程序中的dll加载的方式? (我们使用的是 WTL/ATL,不是直接的 win32)