0

Web ブラウザー コントロールで開いた Web サイトから画像をダウンロードできることは知っていますが、実際には画像の URL を取得してダウンロードすることで機能します。直リンクを禁止しているサイトがあり、画像のダウンロードに失敗するので、Webブラウザコントロールのキャッシュから画像をコピーするしか方法が思いつきません。

4

1 に答える 1

1

将来、 telerikdeveloperfusionなどの vb.net コンバーターへのオンライン c# を使用して、vb.net でコードを取得できます。

  1. プロジェクトに Microsoft.mshtml への参照を追加します。
  2. 次のコードを webBrowser DocumentCompleted イベント ハンドラーに追加します。

サンプルコード:

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
于 2013-06-03T03:15:09.157 に答える