我在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。
答案 0 :(得分:0)
请阅读有关什么是BSTR的MSDN。
pFlash->put_WMode(CComBSTR(L"transparent"));
以相同的方式更改所有其他字符串。