VS2008 将资源释放到文件

原创 2015年07月09日 10:08:42

1.得到当前exe的路径

         string strPath;
char  pchr[MAX_PATH] = {0};


GetModuleFileNameA(NULL, pchr,  MAX_PATH);


strPath = pchr ;
strPath.append("\\..\\"); // .exe的上一级文件夹
strPath += "ResDll.dll";
#ifdef _DEBUG
::OutputDebugString(strPath.c_str());
#endif
   if(!::PathFileExists(strPath.c_str())) // 判断文件是否存在
   {
    ReleaseRes(strPath.c_str(),(WORD)IDR_RESLIB_RESDLL,"ResLib");

    if(!::PathFileExists(strPath.c_str()))
    {
    ::AfxMessageBox("Release File Error, Please Close your anti-virus software!");
    return FALSE;
    }
   }

2. 将资源释放到文件

BOOL ReleaseRes(LPCSTR strFileName,WORD wResID,CString strFileType)

{
// 资源大小
DWORD dwWrite=0;


// 创建文件
HANDLE hFile = CreateFile(strFileName, GENERIC_WRITE,FILE_SHARE_WRITE,NULL,
CREATE_ALWAYS,FILE_ATTRIBUTE_TEMPORARY|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM,NULL);
if ( hFile == INVALID_HANDLE_VALUE )
{
CString strMsg = "FzNetLicSvr: Release Res Fail ! --";
::OutputDebugString(strMsg + strFileName);


return FALSE;
}


// 查找资源文件中、加载资源到内存、得到资源大小
HRSRC hrsc =  FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType);
HGLOBAL hG = LoadResource(NULL, hrsc);
DWORD dwSize = SizeofResource( NULL,  hrsc);


// 写入文件
WriteFile(hFile,hG,dwSize,&dwWrite,NULL);   
CloseHandle( hFile );
return TRUE;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

VS2008 C#用资源文件做背景音乐

参考文章:http://blog.csdn.net/stormwy/article/details/7901944 注:我测试的程序的命名空间为:WuBiCodeExecSys C#用...

VS2008打开资源文件时显示说没有安装这个ActiveX控件 "{648A5600-2C6E-101B-82B6-000000000014

手动注册:       大家知道,当我们安装VC++6.0/VB6.0时,如果选择了ACtiveX控件项(自定义安装),MSComm控件就会自动安装在计算机上了,并在系统文件夹下多了3个文件:M...

VS2008资源视图打不开,编译提示 error PRJ0003 : 生成“mt.exe”出错rc.dll,rcdll.dll,mt.dll等问题的解决方法

这个问题其实是因为缺少资源管理的文件rc.exel等文件,我们需要将该文件拷贝到C:\Program Files\Windows SDKs\Windows\6.0A\bin的目录下,正如上面给出的提示...

vs2008团队资源管理器安装步骤

  • 2010年09月15日 15:48
  • 791B
  • 下载

人力资源系统VS2008+SQL2005

  • 2011年05月01日 19:30
  • 696KB
  • 下载

转载VS2008 编译出来的exe文件,运行遇到“应用程序配置不正确,程序无法启动”的问题

首先感谢这位几仁兄的几篇博客:   http://hi.baidu.com/fairysky/blog/item/130dda13db7b050a5aaf53be.html   http:...

VimEmu2.5.4 vs2008 和破解文件

  • 2017年06月14日 11:19
  • 1.31MB
  • 下载

【转】VS2008采用了新的程序部署技术(manifest清单文件)

vc2005/vc2008采用了新的程序部署技术(manifest清单文件),manifest清单文件实际上类似于我们常用的makefile文件,它定义了程序运行的依赖关系(程序运行所需要的dll库的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VS2008 将资源释放到文件
举报原因:
原因补充:

(最多只允许输入30个字)