flash activex控制64位

时间:2013-05-01 03:37:17

标签: flash 64-bit activex

我在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 个答案:

答案 0 :(得分:0)

请阅读有关什么是BSTR的MSDN。

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

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