win32 3步打包和释放资源
来源:互联网 发布:淘宝达人资历怎么写 编辑:程序博客网 时间:2024/05/16 12:45
1.在rc文件里添加
IDR_EXE1 EXE "..\\res\\A.exe"
IDR_ZIP2 ZIP "..\\res\\B.zip"
2.在resource.h头文件里添加定义
#define IDR_EXE1 104
#define IDR_ZIP2 105
1+2后,程序编译时a.exe和b.zip就在生成的exe程序里了,下面是释放操作
3.释放资源
void main(){FreeResFile(IDR_EXE1, L"EXE", "d:\\a.exe"); FreeResFile(IDR_ZIP2, L"ZIP", "d:\\b.zip");}
/*
函数功能:释放资源文件
参数说明:DWORD dwResName 指定要释放的资源ID号,如IDR_EXE
LPCSTR lpResType 指定释放的资源的资源类型
LPCSTR lpFilePathName 指定释放后的目标文件名
返回值:成功则返回TRUE,失败返回FALSE
*/
bool CRes::FreeResFile(unsigned long dwResName, char* lpResType, char* 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);//得到待释放资源文件大小 remove(lpFilePathName); //清理已存在的文件 ---保证CreateFile的成功率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);//若写入大小等于文件大小,返回成功,否则失败 }
自此操作完成。。。
阅读全文
0 0
- win32 3步打包和释放资源
- 3步释放工作和生活压力
- 3步释放工作和生活压力
- Win32 API资源分配释放速查
- Win32 API资源分配释放速查
- 关闭和释放 JDBC 资源
- 关闭和释放 JDBC 资源
- 关闭和释放 JDBC 资源
- 销毁资源和释放内存
- Win32 API资源分配释放速查(转)
- AssetBundle------ 资源打包和依赖资源打包
- 第3步:打包flaskr
- VC实现将资源打包并释放到指定文件夹
- VC实现将资源打包并释放到指定文件夹
- asp文件打包和释放类
- C++ 6 资源分配和释放
- Closeable和java7自动资源释放特性
- (c#) 销毁资源和释放内存
- eclipse Theme.AppCompat 问题
- Mac操作系统下MySQL密码忘记后重置密码的方法
- Android创建一个前台服务
- Laravel+OSS使用笔记
- oracle索引详解
- win32 3步打包和释放资源
- VM222:2 pages/two/two.json 未找到入口 pages/two/two.json 文件,或者文件读取失败,请检查后重新编译。
- 数据类型及其存储位置
- 62. Unique Paths
- Linux shell 进程管理
- Port already in use: 1099 的解决办法
- [tarjan+bitset]BZOJ 2208——[Jsoi2010]连通数
- 偷偷水题应该没人看见吧
- jvisualvm 连接远程 tomcat