基本过程如下:
下面我说明一些重点环节:
1、 加入资源文件
平常我们在VC6的IDE环境中添加资源,VC只会列出一些常见的类型,如菜单、对话框等,其实我们可以添加任意文件。在资源中选择 IMPORT,在对话框中选择我们需要的文件,例如 c:io.sys,由于不是VC6默认的资源类型,所以会弹出对话框提示输入资源类型,我在这里定义为sf,确定后,IO.SYS文件就已经包含在我们程序的资源中了,ID号,默认为IDR_SF1。
2、 释放资源:
HRSRChRes = FindResource(NULL,MAKEINTRESOURCE(IDR_SF1),_T("sf"));
//获得IO.SYS资源的指针。参数1是程序的句柄,;参数2是资源名称;参数3是资源类型。
DWORDdwSize = SizeofResource(NULL , hRes); //获得指定资源的大小
HGLOBALMemoryHandle = LoadResource(NULL, hRes);//将资源载入内存
if(MemoryHandle!= NULL)
{
BYTE *MemPtr = (BYTE *)LockResource(MemoryHandle); //定位资源位置
CFilefile("c:iosf.sys",CFile::modeCreate | CFile::modeWrite);
file.Write(MemoryHandle,dwSize);
//创建一个临时文件,写入资源数据
}
这样,我们就把一个文件保存到资源文件并从资源中释放,最后,我们通过ULTRAEDIT或者WINDIFF进行一下比较,测试是否复制正常。