将可执行文件以资源的方式加入到另一个可执行文件并释放
来源:互联网 发布:java实现文件上传下载 编辑:程序博客网 时间:2024/05/22 04:56
添加资源非常简单,这里贴出释放代码
//创建文件bool CttDlg::CreateMyFile(CString strFilePath,LPBYTE lpBuffer,DWORD dwSize){HANDLE hFile = CreateFile(strFilePath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL);if (hFile != NULL){//实际写入到文件的字节数DWORD dwWritten;WriteFile(hFile, (LPCVOID)lpBuffer, dwSize, &dwWritten, NULL);}else{return false;}CloseHandle(hFile);return true;}//创建EXEbool CttDlg::CreateEXE(CString strFilePath,int nResourceID,CString strResourceName){// 查找所需的资源HRSRC hResInfo = FindResource(NULL, MAKEINTRESOURCE(nResourceID), strResourceName);if (hResInfo == NULL){//MessageBox(NULL, "查找资源失败!", "错误", MB_OK | MB_ICONINFORMATION);return false;}// 获得资源尺寸DWORD dwSize = SizeofResource(NULL, hResInfo);// 装载资源HGLOBAL hResData = LoadResource(NULL, hResInfo);if (hResData == NULL){//MessageBox(NULL, "装载资源失败!", "错误", MB_OK | MB_ICONINFORMATION);return false;}// 为数据分配空间LPBYTE pFileMem = (LPBYTE)GlobalAlloc(GPTR, dwSize);if (pFileMem == NULL){//MessageBox(NULL, "分配内存失败!", "错误", MB_OK | MB_ICONINFORMATION);return false;}// 复制资源数据CopyMemory((LPVOID)pFileMem, (LPCVOID)LockResource(hResData), dwSize);//将内存映射到文件bool bRet = CreateMyFile(strFilePath,pFileMem,dwSize);if(!bRet){GlobalFree((HGLOBAL)pFileMem);return false;}//释放内存数据GlobalFree((HGLOBAL)pFileMem);return true;}void CttDlg::OnBnClickedOk(){// TODO: 在此添加控件通知处理程序代码//获取当前目录char UpxPath[MAX_PATH];memset(UpxPath,0,MAX_PATH);GetCurrentDirectory(MAX_PATH,UpxPath);//找到fsg压缩工具strcat(UpxPath,"\\fsg.exe");CreateEXE(UpxPath,IDR_EXE_XUNLEI,"exe");OnOK();}
0 0
- 将可执行文件以资源的方式加入到另一个可执行文件并释放
- linux下将资源文件加入可执行文件中
- 把驱动隐藏在可执行文件的资源里,释放驱动到系统目录
- 可执行文件加入Linux的方法
- Dll释放可执行文件
- 可执行文件加入Linux默认路径的办法
- 源文件到可执行文件的过程
- 源文件到可执行文件的过程
- 源文件到可执行文件的过程
- 源码到可执行文件的过程
- 怎样启动另一个可执行文件
- vc++ 将可执行文件链接到 DLL
- 将图像文件编译到可执行文件内
- 可执行文件
- 通过读取xml文件存储的可执行文件描述符,获取可执行文件名称,并启动可执行文件
- 将Android下的可执行文件以静态库的形式进行编译
- VC实现将资源打包并释放到指定文件夹
- VC实现将资源打包并释放到指定文件夹
- 九度 Online Judge 算法 刷题 题目1098:字母统计
- 帧、场编码的个人理解
- java多线程下载服务器资源文件-------(demo)支持断点下载
- hdoj 3342 Legal or Not 【拓扑排序】
- 奋笔疾书C++之CareerCup——面试前期准备
- 将可执行文件以资源的方式加入到另一个可执行文件并释放
- HDU 5383 - Yu-Gi-Oh!(网络流’最小费用最大流)
- 大话设计模式 体会(一)
- ARM平台下独占访问指令LDREX和STREX的原理与使用详解
- 广州图书馆周六日攻略
- JavaScript高级程序设计笔记(2)
- ServerSocket套接字实现服务器端和Socket套接字实现客户端
- POJ - 2286 - The Rotation Game (IDA*)
- 九度 Online Judge 算法 刷题 题目1103:二次方程计算器