转自:https://blog.csdn.net/perfectguyipeng/article/details/73556142
作者:Strive--顾
在MFC中,我们知道初始资源有Dialog,Icon,BMP,String等,但是我们经常在程序中需要加入自定义的资源。
例如声音文件,图像文件或者其他的HTML,PDF,CHM等,那么我们该如何添加这些资源:
(1)首先,右击资源,然后选择“添加资源”->导入->选择我们要添加的资源,例如一个CHM帮助文档。然后在资源类型中输入“CHM”。这样我们就在项目资源中加入了这个chm。
(2)接着,我们要在程序中使用它。MFC自带的资源在程序运行时储存在内存中,我们要使用它们的话直接取出来就行了,例如我们把这个chm文件写入系统的临时目录中,然后通过ShellExecute()函数来打开这个chm文档。
HINSTANCE hInstance = AfxFindResourceHandle (MAKEINTRESOURCE (IDR_BMP1), RT_RCDATA);
HRSRC hRes = FindResource (hInstance, MAKEINTRESOURCE (IDR_BMP1), _T("BMP"));
HGLOBAL hResData = LoadResource (hInstance, hRes);
void * lpvData = LockResource (hResData);
int cbSize = SizeofResource (hInstance, hRes);
CFile file("D:\\code\\FindRec\\FindRec\\123.txt", CFile::modeCreate | CFile::modeWrite);
file.SetLength (cbSize);
file.SeekToBegin ();
file.Write(lpvData,cbSize);
file.Close ();