WebBrowser将图像复制到剪贴板

Joe*_*oeR 3 .net c# browser clipboard

我正在使用WebBrowser控件,并希望将网页上的特定图像复制到剪贴板.我知道我可以使用WebBrowser.Document.ExecCommand方法来复制页面当前选定的区域,但无法确定如何指示选择以覆盖特定的HtmlElement或页面区域.

任何帮助深表感谢!

Jus*_*tin 9

我没有写这个,但是不久前发现它,并认为它会帮助你.

http://www.codeproject.com/Messages/3206780/Re-Image-in-WebBrowser.aspx

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);
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!仅供将来使用此功能的人参考 - 您需要在项目中添加对Microsoft.mshtml的引用,并将"使用mshtml"添加到您的类文件中. (4认同)