首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么让WebBrowser弹出:此站点可能需要上列ActiveX控件:来自'aaaa'的'bbbbb软件'单击此处安装.

2012-12-17 
如何让WebBrowser弹出:此站点可能需要下列ActiveX控件:来自�'的�软件'。单击

如何让WebBrowser弹出:此站点可能需要下列ActiveX控件:来自'aaaa'的'bbbbb软件'。单击此处安装...

先定制一个浏览器使用WebBrowser控件,
如果我们用IE浏览器上一些网站会弹出:此站点可能需要下列ActiveX控件:来自'aaaa'的'bbbbb软件'。单击此处安装...

使用WebBrowser控件如何弹出呢?

在线等!
[最优解释]

CComPtr <IHTMLDocument2> pHTMLDoc2;  
pDisp->QueryInterface(IID_IHTMLDocument2, (void**)&pHTMLDoc2);  
CComPtr <IHTMLElementCollection> pAllElements;  
HRESULT hr = pHTMLDoc2->get_all(&pAllElements);


然后IHTMLElementCollection::tags

HRESULT tags(          VARIANT tagName,
    IDispatch **pdisp
);

得到IHTMLElementCollection的IDispatch 接口指针。

 再从IDispath中QueryInterface得到另外一个IHTMLElementCollection


CComPtr<IHTMLElementCollection> pAllElements;
HRESULT hr = pHTMLDoc2->get_all(&pAllElements);
if (SUCCEEDED(hr))
{
CComVariant vTemp("object");
CComPtr <IDispatch> pDisp3;  
hr = pAllElements->tags(vTemp,&pDisp3);
if (SUCCEEDED(hr))
{
  CComPtr<IHTMLElementCollection> pObjectElements;
pDisp3->QueryInterface(IID_IHTMLElementCollection,(void**)&pObjectElements);
  long nNumElements;
hr = pObjectElements->get_length(&nNumElements);
if (SUCCEEDED(hr) && nNumElements)
{
for (int i=0;i<nNumElements;i++)
{
CComVariant varName(i);  
varName.ChangeType(VT_UINT);  
CComVariant varIndex;  
CComPtr <IDispatch> pDisp2;  
hr = pObjectElements->item(varName, varIndex, &pDisp2);  
if (SUCCEEDED(hr))
{
CComQIPtr <IHTMLObjectElement, &IID_IHTMLObjectElement>pObjectElement(pDisp2);  
CComBSTR cClassId;  
pObjectElement->get_classid(&cClassId);  
CComBSTR cName;  
pObjectElement->get_name(&cName);  
CComBSTR cCodeBase;  
pObjectElement->get_codeBase(&cCodeBase);  
CComBSTR PluginsInfo;  
PluginsInfo.Append(cName);  
PluginsInfo.Append(cClassId);  
PluginsInfo.Append(cCodeBase);  
pObjectElement.Release();  
::MessageBox(NULL,OLE2CT(PluginsInfo),NULL,MB_OK); 


代码只是个思路,不一定对,你修改修改
[其他解释]
引用:
引用:

C/C++ code
CComPtr <IHTMLDocument2> pHTMLDoc2;
pDisp->QueryInterface(IID_IHTMLDocument2, (void**)&amp;amp;pHTMLDoc2);
CComPtr <IHTMLElementCollection> pAllElements;
HRESULT h……

楼主去学点COM接口的知识吧
[其他解释]
引用:
C/C++ code
CComPtr <IHTMLDocument2> pHTMLDoc2;  
pDisp->QueryInterface(IID_IHTMLDocument2, (void**)&amp;pHTMLDoc2);  
CComPtr <IHTMLElementCollection> pAllElements;  
HRESULT hr = pHTMLDoc2->get_all……


这么复杂,几乎看不懂啊...

热点排行