C#WebBrowser将图像复制到剪贴板完整代码

时间:2017-01-23 06:08:30

标签: c# webbrowser-control

我是C#的新手,我想使用WebBrowser控件来复制图像并保存到本地磁盘,我在stackoverflow中搜索后是我需要使用的代码,但是我是一个新的,任何人都可以提供一个完整的C#代码,以使其工作?(ConsoleApplication类型),提前谢谢。

我想在webbrowser中 COPY (不下载)此图片文件

enter image description here

C:\ google.png

来源在这里:   WebBrowser Copy Image to Clipboard

string image_name = "temp.bmp";
IHTMLDocument2 document = (IHTMLDocument2)webBrowser1.Document.DomDocument;
IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)document.body).createControlRange();

imgRange.add(document.all.item(HTML_IMAGE_ID));
imgRange.execCommand("Copy");
using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap))
{
      bmp.Save(image_name);
}

1 个答案:

答案 0 :(得分:0)

以下是工作样本的完整代码

    private void Form1_Load(object sender, EventArgs e)
    {
        webBrowser1.Navigate("http://www.google.com");
    }

    private void button2_Click(object sender, EventArgs e)
    {
        IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.DomDocument;
        IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange();

        foreach (IHTMLImgElement img in doc.images)
        {
            imgRange.add((IHTMLControlElement)img);

            imgRange.execCommand("Copy", false, null);

            using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap))
            {
                bmp.Save(@"C:\" + img.nameProp);
            }
        }
    }

您需要添加名称空间using mshtml;