Предложения по включению контроля веб-браузера в настольное приложение VB.Net - PullRequest
3 голосов
/ 10 марта 2010

Я пишу настольное приложение на VB.Net и хотел бы включить элемент управления веб-браузера для автоматизации определенных функций, которые пользователь может выполнять в браузере. Я должен отобразить страницу, чтобы не использовать веб-запрос для прямых звонков. Когда я публикую приложение, я должен быть обеспокоен тем, какая версия Internet Explorer установлена ​​на его компьютере? Доступны ли какие-либо сторонние, свободно доступные, стабильные элементы веб-браузера для VB.Net, которыми пользуются люди?

Ответы [ 3 ]

5 голосов
/ 10 марта 2010

Вы всегда можете игнорировать всю проблему IE и использовать движок Mozilla, встроенный в ваше приложение:

geckofx

"Компонент с открытым исходным кодом для встраивание Mozilla Gecko (Firefox) в Приложения .NET. "

http://code.google.com/p/geckofx/

1 голос
/ 10 марта 2010

Если вы встраиваете элемент управления Webbrowser в свое приложение, то на самом деле вы встраиваете COM-объект. Во время выполнения ваше приложение будет CoCreateInstance () управлять веб-браузером, который загрузит его из версии SHDOCVW.DLL или IEFRAME.DLL, которая в настоящее время находится на компьютере. Таким образом, на простом английском языке вы получите веб-браузер IE6, IE7 или IE8, в зависимости от того, что установлено на компьютере.

Практические различия, однако, минимальны, так как интерфейсы были опубликованы давно и не изменились по этим версиям. Различия с точки зрения различных команд, которые поддерживаются некоторыми интерфейсами (например, IOleCommandTarget), в любом случае устраняются управляемым уровнем, поэтому вам не нужно об этом беспокоиться. Самым большим отличием будут различия в рендеринге, поскольку между IE6 и IE8 существует огромная разница в соответствии CSS. Вам придется протестировать различные версии, используя VHD-файлы приложения Microsoft Compat .

Когда я работал над совместимостью приложений для IE с веб-браузером, это была огромная проблема; команда очень усердно работает, чтобы убедиться, что поведение не регрессирует именно для этого сценария - пользовательского корпоративного приложения VB, на котором размещается WebOC.

Хотя, если вы решите использовать решение с открытым исходным кодом для распространения с вашим приложением, могу ли я предложить WebKit ? Его механизм компоновки очень хорош, а исходный код довольно хорошо поддерживается и легко читается, хотя вам придется написать собственный слой управляемого хостинга. Код Gecko гораздо сложнее читать и отлаживать.

1 голос
/ 10 марта 2010

Несколько версий Visual Studio поддерживают элементы управления веб-браузера. Вот статья о том, как ее реализовать.

http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx

Элемент управления веб-браузера будет работать с различными версиями Internet Explorer, но будет ограничен функциональностью, поддерживаемой этой версией Internet Explorer.

Статья основана на Visual Studio 2008, но в правом углу статьи есть ссылки на то, как использовать элемент управления веб-браузера, на более ранние версии Visual Studio.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...