vc中将一个独立的dll(exe),作为资源加入资源文件中

具体怎么加入、释放资源这个就不必多说了吧
  加入资源:Insert-Resource-Import
  要求填入类型名称,随便填个即可,比如“EXEANDDLL”
  释放资源:
  
  // 加载资源、生成文件
  //定位我们的自定义资源,这里因为我们是从本模块定位资源,所以将句柄简单地置为NULL即可
  HRSRC hRsrc = FindResource(NULL, MAKEINTRESOURCE(IDR_XXXXXX), TEXT("EXEANDDLL"));//IDR_XXXXXX就是你刚才导入的a.exe或b.dll的ID了
  if (NULL == hRsrc)
  return FALSE;
  //获取资源的大小
  DWORD dwSize = SizeofResource(NULL, hRsrc);
  if (0 == dwSize)
  return FALSE;
  //加载资源
  HGLOBAL gl = LoadResource(NULL, hRsrc);
  if (NULL == gl)
  return FALSE;
  //锁定资源
  LPVOID lp = LockResource(gl);
  if (NULL == lp)
  return FALSE;
  CString filename="a.exe";//保存的临时文件名
  // CREATE_ALWAYS为不管文件存不存在都产生新文件。
  HANDLE fp= CreateFile(filename ,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);
  DWORD a;
  //sizeofResource 得到资源文件的大小
  if (!WriteFile (fp,lp,dwSize,&a,NULL))
  return false;
  CloseHandle (fp);//关闭句柄
  FreeResource (gl);//释放内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值