2010-04-05 6 views
4

Я пытаюсь перенести приложение .hta на исполняемый файл C#. Конечно, так что это .hta код все HTML и Jscript, с призывами к местным ActiveX объектов.Уровень безопасности для управления WebBrowser

Я создал исполняемый проект C# и я просто с помощью элемента управления WebBrowser для отображения HTML содержания. Просто переименован .hta в .html и достал декларации HTA.

Все прекрасно работает, за исключением того, что когда я делаю звонки в ActiveX объектов, я получаю предупреждение всплывающей безопасности запущенного в управления ActiveX на этой странице.

Я понимаю, почему это происходит, поскольку элемент управления WebBrowser является, по сути, IE, и использует параметры безопасности Internet Options, но есть ли способ заставить элемент управления WebBrowser обойти всплывающие окна всплывающих окон или способ зарегистрировать исполняемые файлы или библиотеки DLL как доверять без изменения настроек в Internet Options? Даже способ сделать в пакете развертывания будет работать.

ответ

5

WebBrowser является экземпляром Internet Explorer и наследует параметры безопасности от IE.

Одним из способов может быть изменение настроек безопасности, определенных в IE.

Другим способом может быть добавление Custom Security Manager путем реализации интерфейса IInternetSecurityManager.

Хост WebBrowser Control или MSHTML может создать диспетчер безопасности (путем реализации интерфейса IInternetSecurityManager), который обрабатывает действия и политики URL, важные для хоста. Другие действия и политики URL будут переданы менеджеру безопасности по умолчанию, чтобы он мог обращаться с ними соответствующим образом. Интерфейс IInternetSecurityMgrSite будет использоваться для обработки связанной с Windows информации из компонента, чтобы настраиваемый менеджер безопасности мог обрабатывать любой пользовательский интерфейс, который ему нужен. -

+0

Спасибо, KMan, пользовательский менеджер безопасности может быть именно тем, что мне нужно. Мне придется заглянуть в нее дальше, но спасибо за предложение. – jaywon

+6

Эта ссылка хорошая, но на самом деле это не говорит мне, как получить доступ к IInternetSecurityManager в C#. Не могли бы вы дать немного больше деталей? –

Смежные вопросы