先定制一个浏览器使用WebBrowser控件,
如果我们用IE浏览器上一些网站会弹出:此站点可能需要下列ActiveX控件:来自'aaaa'的'bbbbb软件'。单击此处安装...使用WebBrowser控件如何弹出呢?在线等!
解决方案 »
- 【求助】如何实现在所建的三维坐标空间内某一对象(如球体)的自转?
- 成员变量为指针数组的问题
- 求win2000下动态禁用ctrl+alt+del的dll或驱动
- 从注册表里读的字符串数据为什么是乱码?
- LoadBitmap(IDB_BITMAP4)总是空啊
- 高手来:MainFrame->xx窗口->button按钮如何响应这个按钮消息
- 郁闷中..!大侠帮忙! 在ListCtrl上点击右键,弹出菜单,可是无法知道鼠标位置!
- 对话框 自定tabctrl 控件当只有1页时如何隐藏 上方或下方的标签页小框框?
- VC++,SOCKET通信模式设计的问题。
- 为什么VC中也有代沟,爷爷不认孙子,孙子不买爷爷的帐,只能父子相连。
- 关于IE8的选项卡激活的问题,请帮忙
- 怎么画一条直线,并且是画完后可以撤消的.
pDisp->QueryInterface(IID_IHTMLDocument2, (void**)&pHTMLDoc2);
CComPtr <IHTMLElementCollection> pAllElements;
HRESULT hr = pHTMLDoc2->get_all(&pAllElements);然后IHTMLElementCollection::tagsHRESULT 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);
代码只是个思路,不一定对,你修改修改