求一段MFC文件释放代码
来源:百度知道 编辑:UC知道 时间:2024/06/02 12:49:21
假定你的资源ID为IDR_VBS1。
//根据指定的资源类型和ID返回该资源所在的位置
HRSRC hrs = ::FindResource(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_VBS1),"VBS");
if(hrs)
{
//返回hrs所在程序的一个句柄
HGLOBAL hglo = ::LoadResource(AfxGetInstanceHandle(),hrs);
//计算指定资源的大小
DWORD dwSize=::SizeofResource(AfxGetInstanceHandle(),hrs);
//在内存中锁定该资源,并返回一个指针(可以返回我们所需要的字符指针,用于写入文件)
char* lpRes = (char*)::LockResource(hglo);
CFile file;
file.Open("1.vbs",CFile::modeCreate|CFile::modeWrite);
if(file.m_hFile)
{
//把资源数据写入B程序
file.Write(lpRes,dwSize);
file.Flush();
file.Close();
}
else
{
//输出出错信息
//关闭句柄,释放资源
CloseHandle(hglo);
CloseHandle(hrs);
::FreeResource(lpRes);<