将VC中的资源文件导处来

2008-12-12

void CTestDlg::OnOK()

{

// TODO: Add extra validation here

char tempdir[_MAX_PATH]=”C:\Documents and Settings\Administrator\桌面\”;

//装入文件// 得到资源

HMODULE g_hInst=NULL;

HRSRC hResInfo=FindResource(g_hInst,MAKEINTRESOURCE( IDR_JPG ),”JPG”);

//如果资源不为空则得到资源句柄和大小

if (hResInfo != NULL)

{

   HANDLE hFile;

   FILE *fp=NULL;

   DWORD dw=0;

   HGLOBAL hExeFile=LoadResource(NULL,hResInfo);

   void *s_pBuffer=::LockResource(hExeFile); //锁定内存

   int nResourceSize=SizeofResource(g_hInst,hResInfo);

   //开始写文件

   strcat(tempdir,”\jpgFile.jpg”);

   //写出时有两种方法, 第一个是用标准库,2个是用WINAPI

   fp = fopen(tempdir,”wb”);

   fwrite(hExeFile,nResourceSize,1,fp);

   fclose(fp);

//    hFile = CreateFile(tempdir,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);

//    WriteFile(hFile,hExeFile,nResourceSize,&dw,NULL);

//    CloseHandle(hFile);

}else

{

   AfxMessageBox(“查找资源文件失败”);

}

}