windows资源文件的读取

演示如何在当前程序中添加一个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; } 

 

程序运行时,会自动在当前目录下生成一个test.doc文件,并自动启动word打开

你可能感兴趣的:(windows,测试,null,文档,mfc)