0

我正在 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 构建(Visual Studio 2008)中,上述程序运行良好。但是,在 x64 中,会发生运行时错误。( 0x00000005 Access Violation)

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

为什么会出现这个问题?

我的代码与此类似

4

1 回答 1

0

请阅读 MSDN 了解什么是 BSTR。

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

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

于 2013-10-10T15:13:22.413 回答