描述:
HTMLDOCUMENTEVENTS只能检测到在普通的页面元素上发生的鼠标事件,在applet上面点击就检测不到.
使用spDoc->get_applets(&applets);得到了页面上的applet,连接HTMLElementEvents2也检测不到鼠标事件.代码如下:
CComPtr<IHTMLElementCollection> applets;
spDoc->get_applets(&applets);
long pLength;
HRESULT res;
if (SUCCEEDED(res = applets->get_length( &pLength )))
{
for(int i=0;i<pLength;i++)
{
VARIANT vIndex;
vIndex.vt = VT_I4;
vIndex.lVal = i;
VARIANT var2 = { 0 };
CComPtr<IDispatch> spdispElem;
if (SUCCEEDED(res = applets->item( vIndex, var2, &spdispElem )))
{
CComPtr<IHTMLElement> pElem;
if (SUCCEEDED(res = spdispElem->QueryInterface( IID_IHTMLElement, (LPVOID*)&pElem )))
{ DWORD mCookie; AtlAdvise(pElem, (IDispatch*)this, DIID_HTMLElementEvents2, &mCookie);
}
}
}
}
即使得到IHTMLObjectElement接口,连接HTMLObjectElementEvents事件,也不能检测到鼠标事件,查MSDN发现HTMLObjectElementEvents根本就没有鼠标事件,只有如下事件:onafterupdate,onbeforeupdate,oncellchange,ondataavailable,ondatasetchanged,ondatasetcomplete......
有谁知道怎么才能得到在applet上的鼠标事件吗?谢谢
您可能想查找下面的文章:
- 基于ATL的应用(BHO中如何使用MFC的类CString,CFileDialog等)?
- 高分求教:BHO技术拦截Flash,但写入的js代码无效!
- 关于BHO拦截按键的问题
- 想BHO只加载ie,不加载我的电脑,但出错atlbaseh中5668行,ATLASSERTpM->m_hInst!=NULL;
- VC++开发BHO插件—定制你的浏览器
- BHO的问题
- 在一个ie(BHO,band)插件中如何控制ie的弹出窗口的。
- 什么工具可以反编译一个DLL,这个dll是bho
- BHO中DIID_HTMLElementEvents2在哪个头文件中定义?
- 在BHO中的DISPID_DOCUMENTCOMPLETE事件中取不到IHTMLDocument2的属性