如何将IHTMLImgElement转换为图像

时间:2015-05-14 21:58:19

标签: image automation save mshtml shdocvw

我使用SHDocVW.dll和MSHTML与C#自动化Internet Explorer,我希望将页面中的图像保存到磁盘(JPEG格式)。

我无法使用WebClient类下载图像;如果我这样做,我最终会下载该网站的登录页面。我也无法打印屏幕,因为在此过程中浏览器必须保持不可见,在后台运行。

我尝试过以下操作:

IHTMLImgElement imgElement = ...;
IHTMLControlRange imgRange = ...;

imgRange.add(imgElement as IHTMLControlElement);
imgRange.execCommand( "copy", false, null );

这没有任何作用。我无法从剪贴板中提取任何内容。我找到的每个解决方案都不适用于我。

1 个答案:

答案 0 :(得分:0)

您的webclient方法可能缺少Cookie ...请参阅How do I log into a site with WebClient?以获取处理Cookie的示例。

您的代码看起来很好,但用户必须更改安全设置才能启用剪贴板访问。如果图像缓存在磁盘上,则可以在解析图像位置的页面后dig the WinInet cache