LPSTR szResourceName = MAKEINTRESOURCE(LOWORD(SETUP_PLAYGIF));
LPSTR szResourceType = "SETUP";
HRSRC hRes = FindResource(AfxGetResourceHandle(), szResourceName,szResourceType);
HGLOBAL hResData;
if (!hRes || !(hResData = LoadResource(AfxGetResourceHandle(),hRes)))
{
MessageBox("获得资源数据的句柄错误");
return;
};
DWORD dwSize = SizeofResource(AfxGetResourceHandle(),hRes);
PBYTE pData=new BYTE[dwSize];
PBYTE pSrc = (PBYTE)LockResource(hResData);
if (!pSrc)
{
MessageBox("资源加锁错误");
FreeResource(hResData);
return;
};
CopyMemory(pData,pSrc,dwSize);
FreeResource(hResData);
CString s;
s="E://mymediaplayer";
CreateDirectory(s,NULL);
CreateDirectory(s+"//play",NULL);
HANDLE hfile=CreateFile("E://mymediaplayer//play//play.gif",
GENERIC_WRITE,
0,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if(hfile == INVALID_HANDLE_VALUE)
{
MessageBox("创建文件错误");
return;
}
DWORD dwWrited=0;
BOOL bRet=WriteFile(hfile,pData,dwSize,&dwWrited,NULL);
CloseHandle(hfile);
NOTE:Windows API 不能创建多级目录。