FindResource、LoadResource、LockResource资源相关的编程示例

现在很多的EXE文件都是自带驱动,在程序运行时直接将驱动文件释放出来并加载运行,下面给出一个释放驱动资源的示例函数,今天看到了这样的代码记录下来方便日后拿来使用。使用时只需要修改红色字体部分,改成自己的即可,这里说的是EXE、DLL等文件都可以采用这样的方式来释放。


//释放资源
BOOL Release(){
//查找资源文件
HRSRC res = FindResource(NULL,MAKEINTRESOURCE(IDR_SYS),TEXT("BINARY"));   //实际使用时修改这里即可MAKEINTRESOURCE(IDR_SYS),TEXT("BINARY")
if(!res)
return FALSE;
        
        //加载资源
HGLOBAL resGlobal = LoadResource(NULL,res);
if(!resGlobal)
return FALSE;
        //资源文件大小
DWORD size=SizeofResource(NULL,res);
        //锁定资源
BYTE* ptr=(BYTE*)LockResource(resGlobal);
if(!ptr)
return FALSE;
        //创建文件   实际使用时修改XXX.sys
HANDLE hFile=CreateFile(TEXT("XXX.sys"), GENERIC_WRITE,
0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);


if(hFile==INVALID_HANDLE_VALUE)
return FALSE;


DWORD dw;
        //将资数据写入文件
if(!WriteFile(hFile,ptr,size,&dw,NULL)){
CloseHandle(hFile);
return FALSE;
}
CloseHandle(hFile);
return TRUE;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值