[VC++]释放资源文件
2013-04-22 22:54
316 查看
VC++程序中,有时会需要包含有各种各样的资源文件,比如图标、图片还有一些其它的资源文件,如何将这些资源文件导出呢?为了方便,我写了一个函数:
本帖为原创,转帖请说明出处,谢谢合作。
本文地址:http://blog.csdn.net/sonsie007/article/details/8837205
/* 函数功能:释放资源文件 参数说明:DWORD dwResName 指定要释放的资源ID号,如IDR_EXE LPCSTR lpResType 指定释放的资源的资源类型,如"EXE" LPCSTR lpFilePathName 指定释放后的目标文件名,如"D:\\Test.exe" 返回值:成功则返回TRUE,失败返回FALSE */ BOOL FreeResFile(DWORD dwResName, LPCSTR lpResType, LPCSTR lpFilePathName ) { HMODULE hInstance = ::GetModuleHandle(NULL);//得到自身实例句柄 HRSRC hResID = ::FindResource(hInstance,MAKEINTRESOURCE(dwResName),lpResType);//查找资源 HGLOBAL hRes = ::LoadResource(hInstance,hResID);//加载资源 LPVOID pRes = ::LockResource(hRes);//锁定资源 if (pRes == NULL)//锁定失败 { return FALSE; } DWORD dwResSize = ::SizeofResource(hInstance,hResID);//得到待释放资源文件大小 HANDLE hResFile = CreateFile(lpFilePathName,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);//创建文件 if (INVALID_HANDLE_VALUE == hResFile) { //TRACE("创建文件失败!"); return FALSE; } DWORD dwWritten = 0;//写入文件的大小 WriteFile(hResFile,pRes,dwResSize,&dwWritten,NULL);//写入文件 CloseHandle(hResFile);//关闭文件句柄 return (dwResSize == dwWritten);//若写入大小等于文件大小,返回成功,否则失败 }
本帖为原创,转帖请说明出处,谢谢合作。
本文地址:http://blog.csdn.net/sonsie007/article/details/8837205
相关文章推荐
- VC释放EXE资源文件
- VC释放EXE资源文件
- VC如何将资源中包含的位图释放成文件
- VC释放资源文件DLL,EXE等。。。
- VC释放EXE资源文件
- VC如何将资源中包含的位图释放成文件
- VC释放EXE资源文件
- 如何将自己的文件作为资源文件放入VC工程中?如何在运行时,从EXE文件中提取(释放)出这个文件?
- VC 从资源中释放文件
- VC释放EXE资源文件
- 将文件作为资源放入VC工程中?在运行时从EXE文件中提取(释放)出这个文件?
- VC如何将资源中包含的位图释放成文件
- VC释放EXE资源文件
- 将文件作为资源放入VC工程中,在运行时从EXE文件中提取(释放)出这个文件。
- VC释放EXE资源文件
- VC释放EXE资源文件
- VC释放EXE资源文件
- vc释放资源文件
- VC释放EXE资源文件
- 将二进制文件加入VC资源后释放执行