从VB.NET中存在的Web浏览器控件的缓存中复制图像

时间:2013-06-01 22:28:28

标签: vb.net browser

我知道可以从在Web浏览器控件中打开的网站下载图像,但实际上这可以通过获取图像URL并下载它来实现。有一个网站不允许直接链接,因此图像无法下载,因此我能想到的唯一方法是从Web浏览器控件的缓存中复制图像。

1 个答案:

答案 0 :(得分:1)

您可以使用在线c#到vb.net转换器(如telerikdeveloperfusion)来获取vb.net中的代码。

  1. 将对Microsoft.mshtml的引用添加到项目中
  2. 将下一个代码添加到webBrowser DocumentCompleted事件处理程序
  3. 示例代码:

    Private Sub webBrowser1_DocumentCompleted(sender As Object, _
       e As WebBrowserDocumentCompletedEventArgs) _
       Handles WebBrowser1.DocumentCompleted
    
       Dim doc As IHTMLDocument2 = _
          DirectCast(webBrowser1.Document.DomDocument, IHTMLDocument2)
    
       Dim imgRange As IHTMLControlRange = _
          DirectCast(DirectCast(doc.body, _
          HTMLBody).createControlRange(), IHTMLControlRange)
    
       For Each img As IHTMLImgElement In doc.images
        imgRange.add(DirectCast(img, IHTMLControlElement))
    
        imgRange.execCommand("Copy", False, Nothing)
    
        Using bmp As Bitmap = DirectCast( _
            Clipboard.GetDataObject().GetData(DataFormats.Bitmap), Bitmap)
            bmp.Save("C:\" + img.nameProp)
        End Using
       Next
    
    End Sub