如何在VC工程生成的exe当中添加不常见的资源(比如说zip包)
2011-10-10 16:34
218 查看
在vc工程当中除了添加ico、对话框资源、菜单资源和位图资源等标准资源类型之外,它还支持自定义资源类型(Custom
Resource),这有何用处呢?
我所做的工程就是在用户双击可执行文件之后解压一个zip文件,我希望zip文件加载到exe文件中,而不希望是两个文件,也不希望用Nsis打包来实现,仅仅就是一个exe可执行文件,exe可执行文件当中包含zip文件,岂不快哉。呵呵~~~,想到这里偷偷地乐了。
也可以包Flash做成exe呀。avi,Mp3,等等资源都可以包含到exe可执行文件当中啊。
此处有两个要点,一个是如何添加,一个是使用
1. 添加:添加资源时选择custom,vs2003(我用的是2003)会为你生成一个新的二进制资源,然后你就可以将你已经存在的二进制文件作为自定义的资源类型导入到项目中来了。妙哉,第一次用,以前没用过,猴哥一句话胜读十年书。
2.使用
如何使用自定义资源才是最重要的,呵呵,参考了别人写的博客发现要用到的几个API函数 FindResource、LoadResource和LockResource等,
FindResource用来在一个指定的模块中定位所指定的资源:
详细介绍参加MSDN
LoadResource用来将所指定的资源加载到内存当中;
LockResource用来锁定内存中的资源数据块,它的返回值也就是我们要使用的直系指向资源数据的内存指针;
这几个API我以前也没用过,这个工程希望猴哥不急着要才行。呵呵~~~~~,估计加载zip包着一部分应该能完成,今天是完成不了了。明天接着做吧。
Resource),这有何用处呢?
我所做的工程就是在用户双击可执行文件之后解压一个zip文件,我希望zip文件加载到exe文件中,而不希望是两个文件,也不希望用Nsis打包来实现,仅仅就是一个exe可执行文件,exe可执行文件当中包含zip文件,岂不快哉。呵呵~~~,想到这里偷偷地乐了。
也可以包Flash做成exe呀。avi,Mp3,等等资源都可以包含到exe可执行文件当中啊。
此处有两个要点,一个是如何添加,一个是使用
1. 添加:添加资源时选择custom,vs2003(我用的是2003)会为你生成一个新的二进制资源,然后你就可以将你已经存在的二进制文件作为自定义的资源类型导入到项目中来了。妙哉,第一次用,以前没用过,猴哥一句话胜读十年书。
2.使用
如何使用自定义资源才是最重要的,呵呵,参考了别人写的博客发现要用到的几个API函数 FindResource、LoadResource和LockResource等,
FindResource用来在一个指定的模块中定位所指定的资源:
详细介绍参加MSDN
HRSRC FindResource( HMODULE hModule, //包含所需资源的模块句柄,如果是程序本身,可以置为NULL LPCTSTR lpName, //可以是资源名称或资源ID LPCTSTR lpType //资源类型,在这里也就是我们自己指定的资源类型 );
LoadResource用来将所指定的资源加载到内存当中;
HGLOBAL LoadResource( HMODULE hModule, //模块句柄,同上 HRSRC hResInfo //需要加载的资源句柄,这里也就是FindResource的返回值 );
LockResource用来锁定内存中的资源数据块,它的返回值也就是我们要使用的直系指向资源数据的内存指针;
LPVOID LockResource( HGLOBAL hResData //指向内存中要锁定的资源数据块,这里也就是LoadResource的返回值 );
这几个API我以前也没用过,这个工程希望猴哥不急着要才行。呵呵~~~~~,估计加载zip包着一部分应该能完成,今天是完成不了了。明天接着做吧。
相关文章推荐
- 如何给VC之Win32生成的.exe文件添加版本信息
- 如何将自己的文件作为资源文件放入VC工程中?如何在运行时,从EXE文件中提取(释放)出这个文件?
- 如何将一个vc++.net的资源添加到另一个工程中
- vc++ 如何导入其他工程中的对话框资源
- VC2013同一个工程生成的exe文件显示不同的图标
- 如何将已有的资源添加到如今工程中
- 如何在VC中通过添加资源文件,使程序在Vista上用管理员权限运行
- vc中如何将一个工程的资源复制到另外一个工程【转】
- MFC生成的exe如何添加使用期限
- 在VC工程中添加多语言支持 (资源DLL)
- 向自己的模块添加错误代码_使用vc自带的工具MC创建资源并将其添加至DLL或EXE中
- Visual Studio 如何给生成的exe加入多个图标资源
- vc中如何拷贝一个工程的对话框 资源到另一个工程中?
- 如何将已有的资源添加到如今工程中
- 如何制作vc生成的.exe生成的文件图标
- 添加一个文件夹及一些文件如何使用git生成patch git补丁 新文件 图片资源文件
- VC工程如何生成得更快?
- 如何在VC中生成很小的exe目标代码
- 生成的.EXE如何在未安装VC的机器上运行
- 如何在VC中生成很小的exe目标代码