就是想用api来实现 图片另存为功能   将当前的图片保存到指定路径

解决方案 »

  1.   

    如果webbrowser里只有一张图片。简单的方法是 。获取 webbrowser 的html 文本 。 如:
    里面有一行  
    <IMG src="file:///C:/Users/Jacky/AppData/Local/Temp/WizBrother/WizHtmlEditor/513910412_files/514067692.png">所以你search 文本里,找到这个图片的路径 ,然后下载。if (0==URLDownloadToFileW(NULL,
    file:///C:/Users/Jacky/AppData/Local/Temp/WizBrother/WizHtmlEditor/513910412_files/514067692.png
    ,保存路径,NULL,NULL))
    {}关于如何获取html 文本,以下函数作为参考:
    static
    bool get_IHTMLTxtRange(CComPtr<IHTMLDocument2>& pIHTMLDocument2,CComPtr<IHTMLTxtRange>& pIHTMLTxtRange)
    {
    ASSERT(pIHTMLDocument2); HRESULT hr; CComPtr<IHTMLSelectionObject> pIHTMLSelectionObject;
    hr=pIHTMLDocument2->get_selection(&pIHTMLSelectionObject);
    if ( FAILED(hr) )
    return false;

    CComPtr<IDispatch> pIDispatch;
    hr=pIHTMLSelectionObject->createRange(&pIDispatch);
    if ( FAILED(hr) )
    return false;

    hr=pIDispatch->QueryInterface(IID_IHTMLTxtRange,(void**)&pIHTMLTxtRange);
    if ( FAILED(hr) )
    return false; return true;
    }/****************************************************************************
    CComPtr<IHTMLDocument2> pHTMLDocument2; 
    if ( GetHTMLDocument2(pExplorerWnd->pWebBrowser2,&pHTMLDocument2) )
    {
    __string SelectText;
    if(GetSelectHtmlText(pHTMLDocument2,SelectText))
    {
    trace(SelectText);
    }
    }
    ****************************************************************************/
    static
    bool GetSelectHtmlText(CComPtr<IHTMLDocument2>& pIHTMLDocument2,__string& str)
    {
    CComPtr<IHTMLTxtRange> pIHTMLTxtRange;
    if (!get_IHTMLTxtRange(pIHTMLDocument2,pIHTMLTxtRange))
    return false; _bstr_t BstrText;
    HRESULT hr=pIHTMLTxtRange->get_htmlText(&BstrText.GetBSTR());
    if ( FAILED(hr) )
    return false; if ( BstrText.length()==0 )
    return false; str=BstrText; return true ;
    }
      

  2.   

    获取 webbrowser 的html 文本       是否就是获取html的源码  是否就是在窗口里右键 查看源代码所显示出来的文本?