在winform应用程序中,我有一个WebBrowser控件和一个PictureBox。我正在使用下面的代码将一个图像(从DocumentComplete之后的the浏览器控件)加载到pictureBox1
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);
pictureBox1.Bitmap = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap);
}图片显示在我个人电脑上的picturebox1中,但不显示在我朋友的电脑上。在另一个windows XP上,安装VS2008后,它工作得很好。所以我猜IHTMLDocument2需要一个windows更新才能正常工作。
这是哪一个更新?或者我不需要从互联网上重新下载图像的代码的任何其他替代方案?
发布于 2011-08-28 11:57:18
听起来您需要部署额外的文件(dll?)可用的Here.
最好的选择(也是大多数人都会做的)是使用System.Net.WebClient之类的工具来下载源代码,然后再次使用WebClient来下载图像。
如果您决定使用HTML的接口,则包含此接口的文件位于C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll中(如果您运行的是32位IHTMLDocument2,则不包含x86 )。如果您使用的是VS部署项目,请将此文件包含在您的项目中(或者手动将其复制到运行的应用程序目录中)。
https://stackoverflow.com/questions/7218924
复制相似问题