2016-05-01 151 views
1

WebBrowser.Navigate(DownloadLink)を使用してファイルをダウンロードするコードがあり、正常に動作します。しかし、私はダウンロードが完了した後、自分のアプリケーションが自動的に終了するようにしたい。そして、私はそれをやる方法を知らない。だからWebBrowserのダウンロードが完了したかどうかを知る方法はありますか?WebBrowserがファイルのダウンロードを完了したかどうかを知る方法? Visual Basic

+0

期待どおりのファイルサイズに達するまで、ダウンロードしたファイルを監視するだけで済みますか? – ThatGuy

+0

ファイルをダウンロードするには、 'WebBrowserControl'を使う必要はありません。 ['WebClient.DownloadFile'](https://msdn.microsoft.com/en-us/library/ez801hhe(v = vs.110).aspx)または[' WebClient.DownloadFileAsync'](https: //msdn.microsoft.com/en-us/library/ms144196(v=vs.110).aspx) –

答えて

1

WebBrowserコンポーネントは、Internet Explorerのラッパーであり、非同期でダウンロードされます。今あなたの質問に答えて、多分問題を解決する様々なハックを考え出すことができましたが、WebBrowserをあなたのアプリケーションに保つ他の理由がないならば、少なくともファイルをダウンロードする別の方法を使うことを強く勧めます:

WebClient.DownloadFile "このメソッドはリソースのダウンロード中にブロックされます"。

Public Sub Download(address As String, localfile As String) 
    Using client As New System.Net.WebClient() 
     client.DownloadFile("some url", "local file path to save") 
    End Using 
End Sub 

UIをブロックしないWebClient.DownloadFileAsyncを使用することもできます。

関連する問題