将资源写入磁盘文件

                HRSRC hResource = FindResource(NULL,MAKEINTRESOURCE(IDR_BDDLL),_T("DLL")));
DWORD dwSize = SizeofResource(NULL,hResource);
HGLOBAL hGlobal = LoadResource(NULL,hResource);
//获取资源文件在内存中的位置;
LPVOID vResourceAddress = LockResource(hGlobal);
HANDLE hFile=CreateFile(tPath,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if( INVALID_HANDLE_VALUE==hFile)
return;
DWORD lpNumberOfBytesWritten;
WriteFile(hFile,vResourceAddress,dwSize,&lpNumberOfBytesWritten,NULL);
CloseHandle(hFile);

Sleep(200);



1、隐式链接dll

  其提供了Reg.h与Reg.lib两个隐式链接所必须的文件,所以可以采用此种方式。

  1)在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中"Add Files to Project"菜单,在弹出的文件对话框中选中要加入Reg.lib。

  2)在VC中打开File View一页,选中Header files,单击鼠标右键,然后选中"Add Files to Folder"菜单,在弹出的文件对话框中选中要加入Reg.h,
然后再工程相应的头文件中加入#include "Reg.h".在其中给出了DLL中定义的函数原型及声明
2  显调用的老路

//装载   如果只提供Reg.dll一个文件,那么须用此种方式。

HINSTANCE hdll=::Load Library("Reg.dll");
//通过类型定义语句typedef来定义函数指针类型
Typedef BOOL (_stdcall *lpFileEncrypt)(LPCTSTR, LPCTSTR,LPCTSTR, LPCTSTR)
//函数声明
LpFileEncrypt FileEncrypt1;
//获取加密函数File Encrypt的函数指针
FileEncrypt1= (lpFileEncrypt)::GetProcAddress(hdll,"FileEncrypt");
//调用DLL中加密函数File Encrypt对文件加密,user-12345678为软件注册号
FileEncrypt1(加密源文件名,加密生成目标文件名,密码,"user-12345678");
//释放DLL模块
::AfxFreeLibrary(hdll);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值