在winform应用程序中,我有WebBrowser
控制权和a PictureBox
.我正在加载一个Image(从webbrowser控件之后DocumentComplete
)到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);
}
Run Code Online (Sandbox Code Playgroud)
图像显示在我的电脑上的picturebox1中,但不是我朋友的.在另一个Windows XP上安装VS2008后它运行良好.所以我想IHTMLDocument2需要Windows更新才能正常工作.
哪个更新?或者这个代码的任何其他替代方案,我不必从互联网上重新下载图像?
听起来你需要在这里部署额外的文件(dll?).
最好的选择(以及大多数人所做的)是使用类似System.Net.WebClient的内容来下载源代码,并再次使用WebClient来下载图像.
如果您决定使用HTML界面IHTMLDocument2
,则包含此界面的文件位于C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll
(如果您运行的是32位Windows,则不包含x86).如果您正在使用VS部署项目(或手动将其复制到正在运行的应用程序目录),请在项目中包含此文件.
归档时间: |
|
查看次数: |
9132 次 |
最近记录: |