我使用SHDocVW.dll和MSHTML与C#自动化Internet Explorer,我希望将页面中的图像保存到磁盘(JPEG格式)。
我无法使用WebClient类下载图像;如果我这样做,我最终会下载该网站的登录页面。我也无法打印屏幕,因为在此过程中浏览器必须保持不可见,在后台运行。
我尝试过以下操作:
IHTMLImgElement imgElement = ...;
IHTMLControlRange imgRange = ...;
imgRange.add(imgElement as IHTMLControlElement);
imgRange.execCommand( "copy", false, null );
这没有任何作用。我无法从剪贴板中提取任何内容。我找到的每个解决方案都不适用于我。
答案 0 :(得分:0)
您的webclient方法可能缺少Cookie ...请参阅How do I log into a site with WebClient?以获取处理Cookie的示例。
您的代码看起来很好,但用户必须更改安全设置才能启用剪贴板访问。如果图像缓存在磁盘上,则可以在解析图像位置的页面后dig the WinInet cache。