Benutzer mit den meisten Antworten
Visual Basic 10 - Probleme beim Internet-Zugang

Frage
-
Seit Jahren schreibe ich mein Programm mit Hilfe von Visual Basic 10 Express.
Für den Internet-Zugang nutze ich ‚System.Windows.Forms.WebBrowser‘.
Seit einiger Zeit gibt es jedoch Probleme beim Zugriff auf Internet-Seiten.
Es erfolgt dann der Hinweis: ‚Bitte aktualisiere deinen Bowser‘ … obwohl die aktuelle Version von Mozilla Firefox installiert ist, ... oder der Aufbau der Seite erfolgt nur sehr langsam und fehlerhaft unter Verweis auf mögliche Skriptfehler.
Mit ist bekannt, dass Microsoft die Weiterentwicklung von Visual Basic seit 2020 nicht mehr unterstützt, aber vielleicht kann man mir bei meinem Problem dennoch helfen. Besten Dank dafür.
- Verschoben Dimitar DenkovMicrosoft contingent staff, Moderator Freitag, 17. Juni 2022 10:23 Richtiges Forum; aus: Generelle Fragen zu MSDN Online Deutschland oder den MSDN Foren
Antworten
-
Hi,
andere Optionen gibt es nicht. Wenn auch die Änderung der verwendeten Engine auf IE 11 durch die Registry Einträge (wie gesagt, die müssen exakt zu deinem Programm/deiner Exe Datei passen und auf jedem PC, auf dem die Anwendung ausgeführt wird, vorgenommen werden, ggfs. sind auch die 32/64 Bit Versionen über den WOW6432Node im jeweiligen Registry Zweig zu berücksichtigen) nicht hilft, musst Du ein anderes Control verwenden.
Ggfs. kann man auch probieren, einen anderen UserAgent String im WebBrowser Control zu senden. Hab ich selbst aber nie gemacht.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Freitag, 8. Juli 2022 11:17
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Freitag, 22. Juli 2022 13:54
Alle Antworten
-
Hi,
das Webbrowser Control nutzt letztendlich immer Internet Explorer 7 als Engine.
Du kannst aber über zwei Registryeinstellungen die IE Version beeinflussen, die vom WebBrowser Control verwendet wird. Siehe dazu:
Internet Feature Controls (B..C)
Erstell dazu folgende DWORD Registry Einträge:
HKEY_LOCAL_MACHINE (oder HKEY_CURRENT_USER) SOFTWARE Microsoft Internet Explorer Main FeatureControl FEATURE_BEHAVIORS deineanwendung.exe = 1 (DWORD)
Dieser Eintrag dient dazu, das Feature generell für deine Anwendung zu aktivieren. Die IE Version steuerst Du dann mit folgendem Eintrag:
HKEY_LOCAL_MACHINE (oder HKEY_CURRENT_USER) SOFTWARE Microsoft Internet Explorer Main FeatureControl FEATURE_BROWSER_EMULATION deineanwendung.exe = 11001 (für IE 11, DWORD)
Weitere Angaben für die unterschiedlichen IE Versionen, findest Du in obigem Link.
Achte darauf, dass deine Exe Datei beim Debuggen evtl. "deineanwendung.vshost.exe" heißen könnte. Wenn es im Debugmodus also nicht funktioniert, leg die beiden DOWRD Werte nochmal mit diesem Namen zusätzlich an.
---
Einen anderen Browser als IE kannst Du mit dem WebBrowser Control nicht verwenden, dafür bräuchtest Du ein anderes Control (bswp. CefSharp oder ähnliches).
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport
- Bearbeitet Stefan FalzModerator Freitag, 10. Juni 2022 15:36
- Als Antwort vorgeschlagen Ivan DragovMicrosoft contingent staff, Moderator Dienstag, 14. Juni 2022 05:57
-
Besten Dank für die Rückmeldung,
aber leider haben die Aktualisierungen in der Registry nichts gebracht.
Ich muss darauf hinweisen, dass der Aufruf von Internetseiten mit dem ‚System.Windows.Forms.WebBrowser‘ in Visual Basic 10 grundsätzlich klappt und nur dann scheitert, wenn ich 'youtube-Videos' aufrufen will.
In meiner Not habe ich dann versucht, mein Programm mit Visual Studio 2019 zu starten. Auch da bekomme ich die Meldung ‚Bitte aktualisiere deinen Bowser‘.
Bei dem Versuch, den Quellcode für den Zugang zum Internet neu zu schreiben, habe ich dann festgestellt, dass es in der Toolbox gar kein 'Webbrowser-Tool' gibt.
Verweise zu diesem Problem gibt es in den einschlägigen Foren zwar, erscheinen jedoch sehr kompliziert und aufwändig.
Frage: Gibt es auch einfachere Lösungen?
-
Hi,
andere Optionen gibt es nicht. Wenn auch die Änderung der verwendeten Engine auf IE 11 durch die Registry Einträge (wie gesagt, die müssen exakt zu deinem Programm/deiner Exe Datei passen und auf jedem PC, auf dem die Anwendung ausgeführt wird, vorgenommen werden, ggfs. sind auch die 32/64 Bit Versionen über den WOW6432Node im jeweiligen Registry Zweig zu berücksichtigen) nicht hilft, musst Du ein anderes Control verwenden.
Ggfs. kann man auch probieren, einen anderen UserAgent String im WebBrowser Control zu senden. Hab ich selbst aber nie gemacht.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Moderator Freitag, 8. Juli 2022 11:17
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Freitag, 22. Juli 2022 13:54