Уровень безопасности для контроля WebBrowser - PullRequest
6 голосов
/ 05 апреля 2010

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

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

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

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

1 Ответ

7 голосов
/ 05 апреля 2010

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

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

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

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

...