BHO HtmlEventObject崩溃
|
我有一个用C ++编写的浏览器帮助程序对象,但是在接收OnHelp HtmlEvent时遇到问题。
当我尝试访问属性时,浏览器崩溃。
VARIANT_BOOL STDMETHODCALLTYPE OnHelp(IHTMLEventObj2 *pEvtObj)
{
std::cout << \"OnHelp Event\" << std::endl;
if(pEvtObj != NULL) {
VARIANT var;
pEvtObj->getAttribute(L\"formID\", 0, &var);
std::cout << (char*)var.bstrVal << std::endl;
}
else {
std::cout << \"PELEM = NULL\" << std::endl;
}
return VARIANT_TRUE;
}
由于某种原因,它在getAttribute行上崩溃了吗?在C#中执行此操作时,效果很好。我希望有人可以帮助我解决此问题。
编辑:
真正的问题是我需要使用IHTMLEventObj,然后查询IHTMLEventObj2所需的参数。
VARIANT_BOOL STDMETHODCALLTYPE OnHelp(IHTMLEventObj *pEvtObj)
{
IHTMLEventObj2 *pEvtObj2;
pEvtObj->QueryInterface(IID_IHTMLEventObj2, (void**)&pEvtObj2);
if(pEvtObj2 != NULL) {
VARIANT var;
pEvtObj2->getAttribute(CComBSTR(L\"url\"), 0, &var);
std::cout << _bstr_t(var.bstrVal) << std::endl;
}
else {
std::cout << \"PELEM = NULL\" << std::endl;
}
return VARIANT_TRUE;
}
没有找到相关结果
已邀请:
1 个回复
氏脑
,但是您传递的
/
取决于VC编译设置。
是系统字符串,预计将通过接收方法释放。 尝试