演示如何在当前程序中添加一个word资源,并在运行时读取它
1)打开资源视图,导入一个word文档,资源类型定义为“WORD”,资源名不做修改,为“IDR_WORD1”
2)测试程序代码
- int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
- {
- int nRetCode = 0;
- // 初始化 MFC 并在失败时显示错误
- if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
- {
- // TODO: 更改错误代码以符合您的需要
- _tprintf(_T("错误: MFC 初始化失败\n"));
- nRetCode = 1;
- }
- else
- {
- HRSRC hRes = FindResource(theApp.m_hInstance, MAKEINTRESOURCE(IDR_WORD1), _T("WORD"));
- //获取资源长度
- DWORD len = SizeofResource(theApp.m_hInstance, hRes);
- HGLOBAL hg= LoadResource(theApp.m_hInstance, hRes);
- LPVOID lp = (LPSTR)LockResource(hg);
- //将资源中的内容保存至某个Word文件中
- CFile file;
- file.Open(_T("test.doc"), CFile::modeCreate | CFile::modeWrite);
- char *cp = (char *)lp;
- for (int i=0; i<len; i++)
- {
- file.Write(cp++, 1);
- }
- CString filePath = file.GetFilePath();
- file.Close();
- //打开该文件
- ShellExecute(NULL, _T("open"), filePath, NULL, NULL, SW_SHOW);
- FreeResource(hg);
- }
- return nRetCode;
- }