紧急求救,在线等答案,用鼠标获取IE中的图片,相关源码如下,这个函数不能获取frame中的图片,请问怎样才能获取到frame里的图片?望各位指点
//获取MOUS 坐标 MOUSE.X,MOUSE.Y LONG bHeight = 0;
LONG bWidth  = 0;
LONG bLeft   = 0;
LONG bTop    = 0;
m_spWebBrowser2-> get_Height( &bHeight );
m_spWebBrowser2-> get_Width ( &bWidth  );
m_spWebBrowser2-> get_Left  ( &bLeft   );
m_spWebBrowser2-> get_Top   ( &bTop    ); //获取网页视图高宽
LONG vHeight = 0;
LONG vWidth  = 0;
CComPtr< IHTMLElement > pBody = NULL ;
    pDoc-> get_body( &pBody );
if (!pBody)
return FALSE; try
{
        pBody->get_offsetHeight( &vHeight );
    pBody->get_offsetWidth ( &vWidth  );
}
catch (...)
{
} POINT Mouse = {0};
Mouse.x = ppt->x - ( bLeft +( bWidth  - vWidth  )) + 4;
Mouse.y = ppt->y - ( bTop + ( bHeight - vHeight )) + 27; CComPtr< IHTMLElement > pElement;pElement->get_
pDoc->elementFromPoint( Mouse.x, Mouse.y, &pElement ); //-2:减去IE左边框大小 if(pElement)
{
long tempID = 0 ;
pElement->get_sourceIndex( &tempID );                      //获取当前对象的ID 
if( ObjectID  !=  (UINT)tempID )                           //及对像ID不能与上次ID一样(被视为同一对象)
{
ObjectID = (UINT)tempID;
            CComQIPtr<IHTMLImgElement> pPic = pElement;
if( pPic )    //对象是否为图片以
{
CComBSTR url;
     pPic->get_src( &url );
strurl =  _com_util::ConvertBSTRToString( url );
return TRUE;
}
//对像ID不同,说明MOUSE 移到其它地方,
ClosePicDialog();
}
}
return FALSE;

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/4102/4102038.xml?temp=.6965296
      

  2.   

    http://www.codeproject.com/shell/enum_selected_elements.asp
      

  3.   

    哪种图片是在Frame中的图片?你给个例子看我和程序能不能提取出这种图片。
    我是将上面链接中的例子稍微改了一下的。
      

  4.   

    框架元素支持IWebBrowser2接口,可以查询这个接口来访问其中的DHTML文档对象模型。
    跨框架的访问在两个框架的地址不属于同一个域的时候是被禁止的。
      

  5.   

    参考:
    在多Frame的网页中怎么取出各个Frame的IHTMLDocument2的接口!
    http://search.csdn.net/Expert/topic/894/894158.xml?temp=.3319971