flash activex 控制 64bit

Posted

技术标签:

【中文标题】flash activex 控制 64bit【英文标题】:flash activex control 64bit 【发布时间】:2013-05-01 03:37:17 【问题描述】:

我正在 Visual Studio 2008 原生环境中制作透明的 Flash 窗口。

一些重要的代码:

IShockwaveFlash* pFlash;

CoCreateInstance(CLSID_ShockwaveFlash, NULL, CLSCTX_ALL, __uuidof(IShockwaveFlash), (void**)&pFlash);

pFlash->put_WMode("transparent");

// ...

pFlash->put_Move("test.swf");

在 x86 build(Visual Studio 2008) 中,上述程序运行良好。但是,在 x64 中,会发生运行时错误。 (0x00000005 Access Violation)

如果我删除 pFlash->put_WMode("transparent");,一切都在 x64 中运行良好。

为什么会出现这个问题?

我的代码是similar to this。

【问题讨论】:

【参考方案1】:

关于什么是 BSTR,请阅读 MSDN。

pFlash->put_WMode(CComBSTR(L"transparent"));

以同样的方式更改所有其他字符串。

【讨论】:

以上是关于flash activex 控制 64bit的主要内容,如果未能解决你的问题,请参考以下文章

当activex与flash player在同一个页面时不能调用activex方法

找出啥或谁打电话/触发了冲击波/activeX/flash

如何在部署机器上兼容Flash ActiveX控件?

Flash ActiveX:如何从内存或资源或流中加载电影?

如何注册ActiveX打印控件

IE8升级新版Flash Player ActiveX14导致的discuz图片附件无法上传 解决方法