vc添加自定义资源,并创建显示flash控件

时间:2022-07-18 20:02:01

自己在项目里写的一段代码,把vc自定义资源写入文件,顺便显示flash控件

BOOL CreateFlash(HWND hDlg)
{
char szResPath[MAX_PATH] = "\0";
HRSRC hRsrc; //资源句柄
HGLOBAL hGlobal; //加载资源的数据句柄
LPVOID lp; //flash资源在内存的入口地址
HANDLE hFile;
DWORD dwSize;
void *init; //flash控件初始化指针

//加载资源里的flash
hRsrc = FindResource(hInst, MAKEINTRESOURCE(IDR_SWF), "SWF");
hGlobal = LoadResource(hInst, hRsrc);
lp = LockResource(hGlobal);
//获得系统环境路径
GetEnvironmentVariable("TEMP", szResPath, sizeof(szResPath));
strcat(szResPath, "\\hhhhhh.swf");
//建立flash资源文件
hFile = CreateFile(szResPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, NULL, NULL);
if (hFile != INVALID_HANDLE_VALUE)
{
//写入flash文件
WriteFile(hFile, lp, SizeofResource(hInst, hRsrc), &dwSize, NULL);
}
CloseHandle(hFile);
FreeResource (hGlobal); //释放flash资源

//加载调用flash的函数地址
init = GetProcAddress(LoadLibrary("atl"), "AtlAxWinInit");
_asm call init;
//显示flash控件
CreateWindow("AtlAxWin", szResPath, WS_VISIBLE | WS_CHILD, 0, 65, 300, 200, hDlg, 0, hInst, 0);

return TRUE;
}