Rubrik: HTML/Internet/Netzwerk · WebBrowser | VB-Versionen: VB5, VB6 | 17.05.06 |
Datei-Download im WebBrowser-Control abfangen Hier wird gezeigt, wie man einen Datei-Download im WebBrowser-Control abfangen kann. | ||
Autor: Dieter Otter | Bewertung: | Views: 17.347 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Beim Einsatz des WebBrowser-Controls in der eigenen Anwendung lässt sich beim Klick auf einen Download-Link der Datei-Download wie folgt abfangen. Man könnte dann bspw. den Download über eine eigene Download-Funktion starten oder das Downloaden bestimmter Dateien einfach unterbinden.
Klickt der Anwender auf einen Link innerhalb der angezeigten Webseite wird das BeforeNavigate2-Ereignis ausgelöst. Über den Parameter "URL" lässt sich der Link ermitteln und durch Setzen des zusätzlichen Parameters "Cancel" auf True der Download sogar abbrechen:
Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, _ URL As Variant, Flags As Variant, TargetFrameName As Variant, _ PostData As Variant, Headers As Variant, Cancel As Boolean) Dim sExt As String ' Datei-Extension ermitteln If InStr(URL, ".") > 0 Then sExt = LCase$(Mid$(URL, InStrRev(URL, "."))) End If ' Je nach Dateityp verschiedene Aktionen ausführen Select Case sExt Case ".zip" ' zusätzliche MsgBox anzeigen If MsgBox("Datei wirklich downloaden?", vbQuestion + vbYesNo) = vbNo Then ' Abbrechen Cancel = True End If Case ".exe" ' Download von EXE-Dateien blocken MsgBox "Der Download von ausführbaren Dateien ist gesperrt!", vbCritical + vbOKOnly Cancel = True Case Else ' alle anderen Links zulassen End Select End Sub