VC++.NET读取并创建资源文件
2005-01-27 16:07
459 查看
读取并创建资源文件<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Author: Liang Bo
brianliangx@hotmail.com
在许多情况下开发人员需要把文件保存到资源中并的运行时创建到特定的位置,以下代码可以帮你做到:
//以下代码来自TZ MFC.NET Primer 1.01,访问 www.apptemplate.com 获得更多代码和信息
//尊重版权,才能振兴中国软件
CtstApp::CreateFileFromResource(LPCTSTR lpszResourceName, LPCTSTR lpszType, LPCTSTR lpszTargetName)
{
ASSERT(lpszResourceName != NULL);
if(lpszTargetName==_T(""))return false;
// determine location of the binary resource in resource fork
HINSTANCE hInst = AfxFindResourceHandle(lpszResourceName, lpszType);
HRSRC hRsrc = ::FindResource(hInst, lpszResourceName, lpszType);
// If failed, try instance handle
if (hRsrc == 0)
hRsrc = ::FindResource(hInst = AfxGetInstanceHandle(), lpszResourceName, lpszType);
if (hRsrc == NULL)
return false;
HGLOBAL hData = LoadResource(hInst, hRsrc);
if (hData == NULL)
return false;
DWORD dwSize = SizeofResource(hInst, hRsrc);
LPBYTE pData = (LPBYTE) LockResource(hData);
CFile m_File;
CFileException e;
if( !m_File.Open( lpszTargetName, CFile::modeCreate | CFile::modeWrite, &e ) )
{
#ifdef _DEBUG
afxDump << "File could not be opened " << e.m_cause << "/n";
#endif
UnlockResource(hData);
FreeResource(hRsrc);
return false;
}
else
{
m_File.Write(pData,dwSize);
m_File.Close();
}
UnlockResource(hData);
FreeResource(hRsrc);
return true;
}
参数说明:
lpszResourceName 资源名称,使用字符串的方式标定ID值,如” config.xml”
lpszType 资源类型,如”ICON”,”Jpg”,”XML”
lpszTargetName 目标文件名称,如”AppConfig.xml”
调用示例:
CreateFileFromResource(_T("config.xml"),_T("xml"),_T("AppConfig.xml"));
Author: Liang Bo
brianliangx@hotmail.com
在许多情况下开发人员需要把文件保存到资源中并的运行时创建到特定的位置,以下代码可以帮你做到:
//以下代码来自TZ MFC.NET Primer 1.01,访问 www.apptemplate.com 获得更多代码和信息
//尊重版权,才能振兴中国软件
CtstApp::CreateFileFromResource(LPCTSTR lpszResourceName, LPCTSTR lpszType, LPCTSTR lpszTargetName)
{
ASSERT(lpszResourceName != NULL);
if(lpszTargetName==_T(""))return false;
// determine location of the binary resource in resource fork
HINSTANCE hInst = AfxFindResourceHandle(lpszResourceName, lpszType);
HRSRC hRsrc = ::FindResource(hInst, lpszResourceName, lpszType);
// If failed, try instance handle
if (hRsrc == 0)
hRsrc = ::FindResource(hInst = AfxGetInstanceHandle(), lpszResourceName, lpszType);
if (hRsrc == NULL)
return false;
HGLOBAL hData = LoadResource(hInst, hRsrc);
if (hData == NULL)
return false;
DWORD dwSize = SizeofResource(hInst, hRsrc);
LPBYTE pData = (LPBYTE) LockResource(hData);
CFile m_File;
CFileException e;
if( !m_File.Open( lpszTargetName, CFile::modeCreate | CFile::modeWrite, &e ) )
{
#ifdef _DEBUG
afxDump << "File could not be opened " << e.m_cause << "/n";
#endif
UnlockResource(hData);
FreeResource(hRsrc);
return false;
}
else
{
m_File.Write(pData,dwSize);
m_File.Close();
}
UnlockResource(hData);
FreeResource(hRsrc);
return true;
}
参数说明:
lpszResourceName 资源名称,使用字符串的方式标定ID值,如” config.xml”
lpszType 资源类型,如”ICON”,”Jpg”,”XML”
lpszTargetName 目标文件名称,如”AppConfig.xml”
调用示例:
CreateFileFromResource(_T("config.xml"),_T("xml"),_T("AppConfig.xml"));
相关文章推荐
- 如何用vc创建和读取xml文件??
- VC读取资源中文件
- myeclipse关于properties资源文件的创建和读取
- asp.net创建文件并写入内容和读取文件内容
- ADO.NET Entity Framework 如何:创建模型及映射文件嵌入资源(实体框架)
- vc资源 Windows资源 文件资源 自定义文件资源的读取
- 如何:为 ASP.NET 网站创建资源文件 (Visual Studio)
- Creating Dialogbased Windows Application (4) / 创建基于对话框的Windows应用程序(四)Edit Control、Combo Box的应用、Unicode转ANSI、Open File Dialog、文件读取、可变参数、文本框自动滚动 / VC++, Windows
- C#/.NET读取或修改文件的创建时间及修改时间详解
- ASP.NET中对文件的操作 创建 读取 删除 上传 下载
- IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题
- c++ 读取整个文件内容 || VC 检查创建文件夹
- .NET资源文件的创建、使用
- 在VC++中创建的项目中添加一个资源文件
- Android资源管理——资源文件的创建、读取和管理
- ASP.NET中对文件的操作 创建 读取 删除 上传 下载(转 备份用)
- 如何用vc创建和读取xml文件??
- 用VC++.Net 创建纯资源类库, 并在MFC Application中调用
- VC创建与读取XML文件
- 资源文件读取_文件_VC技术文章_VC源动力