社区
C++ 语言
帖子详情
用IShockwaveFlash如何播放资源中的SWF影片?
lcy_888
2015-10-19 02:18:42
如题,在DUILIB中有个IShockwaveFlash类可以很方便的播放磁盘中的SWF影片,但是如何播放嵌入资源中的SWF呢?请各位大神赐教。
...全文
163
1
打赏
收藏
用IShockwaveFlash如何播放资源中的SWF影片?
如题,在DUILIB中有个IShockwaveFlash类可以很方便的播放磁盘中的SWF影片,但是如何播放嵌入资源中的SWF呢?请各位大神赐教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lswandym_888
2015-10-20
打赏
举报
回复
if (msg.pSender->GetName() != _T("flash")) return; IShockwaveFlash* pFlash = NULL; CActiveXUI* pActiveX = static_cast<CActiveXUI*>(msg.pSender); pActiveX->GetControl(IID_IUnknown, (void**)&pFlash); if (pFlash != NULL) { pFlash->put_WMode(_bstr_t(_T("Transparent"))); //pFlash->put_Movie(_bstr_t(CPaintManagerUI::GetInstancePath() + _T("\\sys_update.swf"))); /*pFlash->put_Movie(_bstr_t(MAKEINTRESOURCE(IDR_SWF1)));//可能要动态从资源释放 pFlash->DisableLocalSecurity(); pFlash->put_AllowScriptAccess(L"always"); BSTR response; pFlash->CallFunction(L"<invoke name=\"setButtonText\" returntype=\"xml\"><arguments><string>Click me!</string></arguments></invoke>", &response); pFlash->Release();*/ typedef struct _FLASH_STREAM_HEADER { DWORD m_dwSignature; DWORD m_dwDataSize; } FLASH_STREAM_HEADER, *PFLASH_STREAM_HEADER; HRSRC hRes = FindResource(NULL, (LPCTSTR)IDR_SWF1, _T("SWF")); if (hRes) { DWORD dwResourceDataSize = SizeofResource(NULL, hRes); HGLOBAL hResourceLoaded = ::LoadResource(NULL, hRes); IStream *spStream; HRESULT hResult = ::CreateStreamOnHGlobal(NULL, TRUE, &spStream); FLASH_STREAM_HEADER fsh = { 0x55665566, dwResourceDataSize }; ULARGE_INTEGER uli = { sizeof(fsh) + dwResourceDataSize }; hResult = spStream->SetSize(uli); hResult = spStream->Write(&fsh, sizeof(fsh), NULL); hResult = spStream->Write(reinterpret_cast<void*>(hResourceLoaded), dwResourceDataSize, NULL); uli.QuadPart = 0; hResult = spStream->Seek(*reinterpret_cast<PLARGE_INTEGER>(&uli), STREAM_SEEK_SET, NULL); CComPtr<IPersistStreamInit> spPersistStreamInit; pFlash->QueryInterface(&spPersistStreamInit); pFlash->DisableLocalSecurity();//禁用本地安全 pFlash->put_AllowScriptAccess(L"always");//允许脚本访问 spPersistStreamInit->Load(spStream); pFlash->Release(); } }
【译】用于多媒体应用的无窗口ATL ActiveX控件容器
原文链接:ATL Windowless ActiveX Media Container 这个ATL activeX框架适用于作为Windows Media Player,
Flash
以及Sliverlight动画的承载容器。整个框架分布在Windowless文件夹下,共有6个文件。架构如图所示: 使用Adobe
Flash
Player...
C++与
Flash
交互实战:MFC桌面应用集成
Flash
图表组件
在桌面应用开发
中
,组件集成与进程间通信是常见的技术需求,尤其是在需要复用既有成熟模块或实现复杂可视化时。其核心原理通常基于操作系统提供的组件对象模型(COM)或类似的进程间通信(IPC)机制,通过定义清晰的接口契约,实现宿主程序与嵌入式运行时之间的双向数据交换与函数调用。这项技术的价值在于能够将不同技术栈开发的模块高效整合,保护历史资产,并满足特定场景下的性能与兼容性要求,常见于工业控制、数据可视化等领域的遗留系统现代化改造。本文聚焦于一个典型应用场景:在基于MFC的C++桌面程序
中
,通过ActiveX/C
激光焊接机_1.rar
激光焊接机_1.rar
0.收入证明及在职证明开具流程(3).pdf
0.收入证明及在职证明开具流程(3).pdf
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章