兔八哥极品软件园    运行: 4869天 | 文章:640 篇 | 评论:1005 条 | 碎语:1条

MFC中释放资源

作者:admin 发布于:2012-7-5 12:57 Thursday 分类:Windows


/*********修复MSCONFIG.EXE*********/
//Sleep(1500);
StateLabelWnd->SetWindowText("正在修复Msconfig.exe...");
//获取System32所在路径
TCHAR   szBuffer[MAX_PATH];  
    GetSystemDirectory(szBuffer,MAX_PATH);
CString systemFolder;
systemFolder.Format("%s",szBuffer);
systemFolder += "\\dllcache\\msconfig.exe";
CFileFind finder;
bool isFinded = finder.FindFile(systemFolder);
CFile file;
if(isFinded)
{
   //删除被感染的MSCONFIG.EXE
   StateLabelWnd->SetWindowText("正在修复Msconfig.exe...正在删除被修改的Msconfig.exe...");
   file.Remove(systemFolder);
}
   //加载资源文件中正常的MSCONFIG.EXE
   HMODULE hModule=GetModuleHandle(NULL);  
   HRSRC hRes = FindResource(hModule,MAKEINTRESOURCE(IDR_MSCONFIG),"EXE");
   if(hRes == NULL)
   {
    FreeResource(hRes);
   }
   else
   {
    HGLOBAL hglobal = LoadResource(hModule,hRes);
    if(hglobal == NULL)
    {
     FreeResource(hglobal);
    }
    else
    {
     //释放MSCONFIG.EXE文件
     StateLabelWnd->SetWindowText("正在修复Msconfig.exe...正在释放原始的Msconfig.exe...");
     LPBYTE lpByte=(LPBYTE)LockResource(hglobal);  
     DWORD dwRcSize=SizeofResource(hModule,hRes);
     file.Open(systemFolder,CFile::modeCreate | CFile::modeWrite);
     file.Write(lpByte,dwRcSize);
     file.Close();
    }
   }
/************结束修复MSCONFIG.EXE*************/


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap