MFC使用插入的资源

本文详细介绍了在Windows环境下如何使用FindResource、LoadResource及LockResource等API来定位、加载并锁定资源的方法。通过具体实例展示了从查找资源到写入文件的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.      FindResource用来在一个指定的模块中定位所指定的资源:

2.             HRSRC FindResource(

3.             HMODULE hModule,                //包含所需资源的模块句柄,如果是程序本身,可以置为NULL

4.             LPCTSTR lpName,         //可以是资源名称或资源ID

5.             LPCTSTR lpType          //资源类型,在这里也就是我们自己指定的资源类型

6.             );     

7.      LoadResource用来将所指定的资源加载到内存当中;

8.             HGLOBAL LoadResource(

9.             HMODULE hModule,                //模块句柄,同上

10.          HRSRC hResInfo          //需要加载的资源句柄,这里也就是FindResource的返回值

11.          );             

12.   LockResource用来锁定内存中的资源数据块,它的返回值也就是我们要使用的直系指向资源数据的内存指针;

13.          LPVOID LockResource(

14.          HGLOBAL hResData                //指向内存中要锁定的资源数据块,这里也就是LoadResource的返回值

15.          );             

列子:

 HRSRC hr = FindResource(0, MAKEINTRESOURCE(IDR_YX1), "YX");
 HGLOBAL hg = LoadResource(0,hr);
 LPCVOID pBuffer = LockResource(hg);
 DWORD dwSize = SizeofResource(NULL, hr);
 HANDLE hd = CreateFile("c://bin.exe",GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_HIDDEN,0);
 DWORD zsdx;
 WriteFile(hd,pBuffer,dwSize,&zsdx,0);
 CloseHandle(hd);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值