2013-05-01 59 views
0

我在Visual Studio 2008本机环境中制作透明Flash窗口。flash activex控件64bit

一些重要的代码:

IShockwaveFlash* pFlash; 

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

pFlash->put_WMode("transparent"); 

// ... 

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

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

如果我删除pFlash->put_WMode("transparent");,那么x64中的所有内容都可以正常运行。

为什么会发生此问题?

我的代码是similar to this

回答

0

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

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

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