// 释放资源到文件:test.exe
HRSRC res = ::FindResource(NULL, MAKEINTRESOURCE(IDR_FLASH), _T("Flash"));
HGLOBAL gl = ::LoadResource(NULL,res);
LPVOID lp = ::LockResource(gl); // 查找,加载,锁定资源
GetTempPath(MAX_PATH, g_szFlashPlayer);
lstrcat(g_szFlashPlayer, _T("test.exe"));
HANDLE hFile = ::CreateFile (g_szFlashPlayer,
GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS,
0,
NULL);
if ( hFile == INVALID_HANDLE_VALUE )
{
return FALSE;
}
DWORD dwWritten;
if (!::WriteFile (hFile, lp, ::SizeofResource(NULL, res), &dwWritten, NULL))
{
return FALSE; //sizeofResource 得到资源文件的大小
}
::CloseHandle (hFile); //关闭句柄
::FreeResource (gl); //释放内存
HRSRC res = ::FindResource(NULL, MAKEINTRESOURCE(IDR_FLASH), _T("Flash"));
HGLOBAL gl = ::LoadResource(NULL,res);
LPVOID lp = ::LockResource(gl); // 查找,加载,锁定资源
GetTempPath(MAX_PATH, g_szFlashPlayer);
lstrcat(g_szFlashPlayer, _T("test.exe"));
HANDLE hFile = ::CreateFile (g_szFlashPlayer,
GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS,
0,
NULL);
if ( hFile == INVALID_HANDLE_VALUE )
{
return FALSE;
}
DWORD dwWritten;
if (!::WriteFile (hFile, lp, ::SizeofResource(NULL, res), &dwWritten, NULL))
{
return FALSE; //sizeofResource 得到资源文件的大小
}
::CloseHandle (hFile); //关闭句柄
::FreeResource (gl); //释放内存